首先他们都是无符号的,区别在于他们在内存中的长度是不一样的: package main import ( "fmt" "unsafe" ) func main() { var a uint var b uint32 var c uint64 fmt.Println("size of a: ", unsafe.Sizeof(a)) fmt.Println("size of b: ", unsafe.Sizeof(b)) fmt.Println("size of c: ", unsafe.Sizeof(c)) } 打印结果是这样的: size of a: 8size of b: 4size of c: 8 我的机器是64位的,所以uint和 uint64所占用的长度是一样的,都是8bit,64位的长度。至于选哪个,那要看你到你要存多大的数了。
首先他们都是无符号的,区别在于他们在内存中的长度是不一样的:
打印结果是这样的:
我的机器是64位的,所以uint和 uint64所占用的长度是一样的,都是8bit,64位的长度。至于选哪个,那要看你到你要存多大的数了。