登录
首页 >  Golang >  Go问答

在 Go 中测试空字符串的最佳方法是什么?

来源:Golang技术栈

时间:2023-04-25 21:31:34 357浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《在 Go 中测试空字符串的最佳方法是什么?》,本文主要会讲到golang等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

哪种方法最适合(最典型的)测试非空字符串(在 Go 中)?

if len(mystring) > 0 { }

要么:

if mystring != "" { }

或者是其他东西?

正确答案

这两种风格都在 Go 的标准库中使用。

if len(s) > 0 { ... }

可以在strconv包中找到:http: //golang.org/src/pkg/strconv/atoi.go

if s != "" { ... }

可以在encoding/json包中找到:http: //golang.org/src/pkg/encoding/json/encode.go

两者都是惯用的并且足够清楚。这更多的是个人品味和清晰度的问题。

Russ Cox 在[golang-nuts 线程](https://groups.google.com/forum/#!topic/golang- nuts/7Ks1iq2s7FA)中写道:

使代码清晰的那个。
如果我要查看元素 x,我通常会写
len(s) > x,即使 x == 0,但如果我关心
“是这个特定的字符串”,我倾向于写 s ==“”。

可以合理地假设成熟的编译器会将
len(s) == 0 和 s == "" 编译为相同的高效代码。
...

使代码清晰。

正如Timmmmm 的回答中所指出的,Go 编译器在两种情况下都会生成相同的代码。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表