go代码变量声明异同解析
这段go代码展示了变量声明的微妙区别。
变量声明1:newline
var newline = flag.bool("n", false, "print newline")
登录后复制
在这里,newline被声明为一个类型为*bool的变量,表示-n命令行标志的选项。
常量声明2:newline和space
const ( space = " " newline = "")
登录后复制
在常量声明中,newline是一个字符串常量,包含换行符n。它与newline(注意第一个字母大写)不同,因为后者是一个变量,而前者是一个常量。
为什么重复声明newline变量可行?
因为newline变量和newline常量是不同的实体。变量可以存储可变值,而常量则存储不变值。由于它们有不同的名称和类型,因此可以同时存在,而不会出现冲突。
为什么声明test变量不可行?
var Test = &tempconst ( Space = " " Newline = "" Test = &temp)
登录后复制
在这个例子中,test既作为变量又作为常量声明,但这是不允许的。常量应该始终表示一个不可变的值,而变量可以改变。由于test被声明为指向temp的指针,因此它本质上是一个可变值,无法作为常量声明。
以上就是Go 代码中变量声明的异同:为什么 NewLine 可以重复声明,而 Test 则不可行?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2316287.html