我一直在研究涉及包的元编程,并且constant 9223372036854775807 overflows int每次都遇到错误math.MaxInt64并math.MaxUint64出现。
我把它分为两种情况:
有效的
var a int64 = math.MaxInt64
b := interface{}(int64(math.MaxInt64))
无效
a := math.MaxInt64
b := interface{}(math.MaxInt64)
https://play.golang.org/p/U1QDmFbV29
Go 似乎没有进行正确的类型推断。
这是错误还是预期行为?如果期望,有谁知道为什么?
一只名叫tom的猫
相关分类