要获得Go中各种整数类型的最大值和最小值,请使用 math包常量。例如,要获得int64 类型的最小值,即 -9223372036854775808 ,使用 math.MinInt64常数。要获得int64 类型的最大值,即9223372036854775807,使用常数 math.MaxInt64.要检查不同int类型的最小值和最大值,请看下面的例子和它的输出。
对于无符号整数类型,只有max常数可用,因为无符号类型的最小值总是0。
package main
import (
"fmt"
"math"
)
func main() {
// int
fmt.Printf("int min - max: %d - %d\n", math.MinInt, math.MaxInt)
// int8
fmt.Printf("int8 min - max: %d - %d\n", math.MinInt8, math.MaxInt8)
// int16
fmt.Printf("int16 min - max: %d - %d\n", math.MinInt16, math.MaxInt16)
// int32
fmt.Printf("int32 min - max: %d - %d\n", math.MinInt32, math.MaxInt32)
// int64
fmt.Printf("int64 min - max: %d - %d\n", math.MinInt64, math.MaxInt64)
// unsigned
// uint
fmt.Printf("uint min - max: %d - %d\n", uint(0), uint(math.MaxUint))
// uint8
fmt.Printf("uint8 min - max: %d - %d\n", 0, math.MaxUint8)
// uint16
fmt.Printf("uint16 min - max: %d - %d\n", 0, math.MaxUint16)
// uint32
fmt.Printf("uint32 min - max: %d - %d\n", 0, math.MaxUint32)
// uint64
fmt.Printf("uint64 min - max: %d - %d\n", 0, uint64(math.MaxUint64))
}
输出
int min - max: -9223372036854775808 - 9223372036854775807
int8 min - max: -128 - 127
int16 min - max: -32768 - 32767
int32 min - max: -2147483648 - 2147483647
int64 min - max: -9223372036854775808 - 9223372036854775807
uint min - max: 0 - 18446744073709551615
uint8 min - max: 0 - 255
uint16 min - max: 0 - 65535
uint32 min - max: 0 - 4294967295
uint64 min - max: 0 - 18446744073709551615