Go 类型常量与非类型常量
示例
Go中的常数可以输入或不输入。例如,给定以下字符串文字:
"bar"
可能会说文字的类型是string,但是,这在语义上是不正确的。相反,文字是Untyped字符串常量。它是一个字符串(更正确的说,它的默认类型是string),但是它不是Go值,因此只有在键入的上下文中分配或使用它之前,它才是类型。这是一个微妙的区别,但是一个有用的理解。
同样,如果我们将文字分配给常量:
const foo = "bar"
由于默认情况下常量是无类型的,因此它保持无类型。也可以将其声明为类型化的字符串常量:
const typedFoo string = "bar"
当我们尝试在确实具有类型的上下文中分配这些常量时,差异就发挥了作用。例如,考虑以下内容:
var s string s = foo //这很好 s = typedFoo //像这样 type MyString string var mys MyString mys = foo //这很好 mys = typedFoo //不能在分配中使用typedFoo(类型字符串)作为MyString类型
热门推荐
10 感谢韩语老师祝福语简短
11 升职文案高级祝福语简短
12 花童结婚祝福语大全简短
13 向国庆送祝福语简短
14 什么寄语简短祝福语女生
15 客户回礼祝福语大全简短
16 女孩生日祝福语简短创意
17 家长回复节日祝福语简短
18 给外婆敬酒祝福语简短