golang-study/base/integer/main.go

68 lines
2.2 KiB
Go
Raw Permalink Normal View History

2021-09-12 20:27:52 +08:00
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)
}