1024Byte(字节)=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
int8、int16、int32、int64。在 内存中分别用 1、2、4、8 个字节来表达
具体类型 | 取值范围 |
int8 | -128到127 |
0到255 | |
int16 | -32768到32767 |
0到65535 | |
int32 | -2147483648到2147483647 |
0到4294967295 | |
int64 | -9223372036854775808到9223372036854775807 |
uint64 | 0到18446744073709551615 |
uint | 与操作系统有关 32位的系统是uint32, 64位的是uint64 |
int | 与操作系统有关 32位的系统是int32, 64位的是int64 |
- var a int8
- a = 129 // '129' (类型 untyped int) 不能由类型 int8 表示
- // 单精度浮点型
- var f1 float32
- f1 = 1.1254869873248965478
- fmt.Println(f1, reflect.TypeOf(f1)) // 1.125487 float32
-
- // 双精度浮点型
- var f2 float64
- f2 = 1.1254869873248965478
- fmt.Println(f2, reflect.TypeOf(f2)) // 1.1254869873248965 float64
-
- // 默认64
- var f3 = 1.1254869873248965478
- fmt.Println(f3, reflect.TypeOf(f2)) // 1.1254869873248965 float64
- var f1 = 2e8
- fmt.Println(f1, reflect.TypeOf(f1))
-
- var f2 = 2e-1
- fmt.Println(f2, reflect.TypeOf(f2))
- var b bool
- b = true
- b = false
- fmt.Println(b)
- fmt.Println(1 == 1)
- fmt.Println(2 < 1)
- // 字符
- var b byte
- b = 'a'
- fmt.Println(b) // 输出的是 ASCII码
-
- // 字符本质是一个数字, 可以进行加减乘除
- fmt.Println(b+1, reflect.TypeOf(b+1))
- // 字符串
- var str string
- str = "hello go"
- fmt.Println(str)
- // 字符串
- var str string
- str = "hello go"
- fmt.Println(string(str[0])) // h
- str1 := []rune(str)
- str1[0] = 'k'
- fmt.Println(str, string(str1))
- var str2 = "你好啊"
- // 截取有中文的字符串
- fmt.Println(string([]rune(str2)[0]))
- // len()获得的是 byte 字节的数量 一个中文占用3个字节
- fmt.Println(len(str2))
- // 有中文时 取长度
- fmt.Println(utf8.RuneCountInString(str2))
- fmt.Println(len([]rune(str2)))