Go101 读书笔记

隐式转换规则

  • 常量不支持溢出
  • 常量不支持舍入
func main() {
const a = -1.23
x := int32(a) // error,常量不支持舍入,将a变为变量可以
fmt.Println(x)
const b = 255
var h = uint8(b + 1) //error,常量不支持溢出,将b更改为变量可以
fmt.Println(h)
}
  • 类型不确定常量,值可以溢出其默认类型
const a = 1 << 64
const n int = 1 << 64 // error


func main() {
b := a >> 2
fmt.Println(b)
}

如果直接使用a 会报错

posted @ 2020-10-26 14:37  王渝钦  阅读(67)  评论(0)    收藏  举报