ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 8.3\. 常量 Go语言中的常量可以没有固定类型(untyped)。我们可以用const和一个 untyped类型的初始值来 定义untyped常量。如果是untyped常量, 那么常量在使用的时候会根据上下文自动进行隐含的类型转换。 这样,可以更自由的使用untyped常量。 ``` var a uint f(a + 1) // untyped numeric constant "1" becomes typed as uint ``` untyped类型常量的大小也没有限制。只有在最终使用的地方才有大小的限制。 ``` const huge = 1 << 100 f(huge >> 98) ``` Go没有枚举类型(enums)。作为代替,可以在一个独立的const区域中使用 iota来生成递增的值。如果const中,常量没有初始值则会 用前面的初始化表达式代替。 ``` const ( red = iota // red == 0 blue // blue == 1 green // green == 2 ) ```