Go语言的数据类型
Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。
基本数据类型
bool
string
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
byte // uint8 的别名(0~255)
rune // int32 的别名
// 表示一个 Unicode 码点
float32 float64
complex64 complex128
整型
不同进制的整数
注意:仍然是整型,底层仍然是用二进制保存的,只是用不同进制数输入而已
func main(){
// 二进制 以0b开头(binary)
v := 0b101101
fmt.Printf("%b \n", v) // 101101 占位符%b表示二进制
fmt.Printf("%d \n", v) // 45 占位符%d表示十进制
// 八进制 以0开头
b := 077
fmt.Printf("%o \n", b) // 77 占位符%o表示八进制
fmt.Printf("%d \n", b) // 63
// 十进制
a := 10
fmt.Printf("%d \n", a) // 10
// 十六进制 以0x开头
c := 0xff
fmt.Printf("%x \n", c) // ff 占位符%x表示十六进制
fmt.Printf("%X \n", c) // FF
fmt.Printf("%d \n", c) // 255
}
浮点型
两种浮点型数:float32(4个字节的float)和 float64(8个字节的double)
import (
"fmt"
"math"
)
func main() {
fmt.Printf("%f\n", math.Pi) // %f表示浮点数
fmt.Printf("%.2f\n", math.MaxFloat32) // %.2f表示保留小数点后两位
f1 := 100.1024
fmt.Printf("%T \n", f1) // 浮点型默认是float64
f2 := float32(13.14) // float32声明方式
fmt.Printf("%T \n", f2)
// f1 = f2 报错 Go中数据类型不能直接转换
f1 = float64(f2)
fmt.Printf("%T \n", f1) // float64
}
布尔类型
字符串
重点: