理论上 int64 适合 uint64,当然它们的数值会有所不同,因为第一位是为 int64 上的符号保留的,但是为什么我不能进行这种转换呢?对我来说似乎有效
import (
"fmt"
"math"
)
func main() {
var randomNum uint64 = math.MinInt64
fmt.Println(randomNum)
}
产生错误
constant -9223372036854775808 overflows uint64
从技术上讲,这math.MinInt64是-9223372036854775808一个适合 63 位加号的数字。
我主要研究这个,因为我想转换8 bytes回具有正确符号的 int64,但到目前为止我只看到返回的函数uint64
binary.LittleEndian.Uint64(bytesArrays[0:8])
千万里不及你
aluckdog
一只萌萌小番薯
相关分类