package main import ( "fmt" "math" ) // uint 在 32位操作系统上为 uint32, 64位 则为 uint64 // int 在 32位操作系统上为 int32, 64位 则为 int64 // uintptr 无符号整型, 用于存放指针 func main() { // 无符号 8位 整型 (0 ~ 255) var ui8Min uint8 = 0 var ui8Max uint8 = math.MaxUint8 fmt.Printf("uint8 无符号 8位整型 min: %v, max: %v\n", ui8Min, ui8Max) // 无符号 16位 整型 (0 ~ 65535) var ui16Min uint16 = 0 var ui16Max uint16 = math.MaxUint16 fmt.Printf("uint16 无符号 16位整型 min: %v, max: %v\n", ui16Min, ui16Max) // 无符号 32位 整型 (0 ~ 4294967295) var ui32Min uint32 = 0 var ui32Max uint32 = math.MaxUint32 fmt.Printf("uint32 无符号 32位整型 min: %v, max: %v\n", ui32Min, ui32Max) // 无符号 64位 整型 (0 ~ 18446744073709551615) var ui64Min uint64 = 0 var ui64Max uint64 = math.MaxUint64 fmt.Printf("uint64 无符号 64位整型 min: %v, max: %v\n", ui64Min, ui64Max) fmt.Println("=========================================================") // 有符号 8位整型 (-128 ~ 127) var i8Min int8 = math.MinInt8 var i8Max int8 = math.MaxInt8 fmt.Printf("int8 有符号 8位整型 min: %v, max: %v\n", i8Min, i8Max) // 有符号 16位整型 (-32768 ~ 32767) var i16Min int16 = math.MinInt16 var i16Max int16 = math.MaxInt16 fmt.Printf("int16 有符号 16位整型 min: %v, max: %v\n", i16Min, i16Max) // 有符号 32位整型 (-2147483648 ~ 2147483647) var i32Min int32 = math.MinInt32 var i32Max int32 = math.MaxInt32 fmt.Printf("int32 有符号 32位整型 min: %v, max: %v\n", i32Min, i32Max) // 有符号 64位整型 (-9223372036854775808 ~ 9223372036854775807) var i64Min int64 = math.MinInt64 var i64Max int64 = math.MaxInt64 fmt.Printf("int64 有符号 64位整型 min: %v, max: %v\n", i64Min, i64Max) fmt.Println("=========================================================") // golang 中 无法直接定义 二进制数 // 十进制 base := 10 // 八进制 base = 012 // 十六进制 base = 0xA // 输出时可用 %b %o %d %x 格式化输出 二、八、十、十六进制数 fmt.Printf("二进制 => %b, 八进制 => %o, 十进制 => %d, 十六进制 => %x\n", base, base, base, base) }