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 好听的元旦简短祝福语