bool类型
布尔型的值只可以是常量 true 或者 false。⼀个简单的例⼦:var b bool = true
数值型
1. 整数型
可以简单讲解⼀下⼆进制和位数的关系,以及int和uint的关系
- int8 有符号 8 位整型 (-128 到 127) ⻓度:8bit
- int16 有符号 16 位整型 (-32768 到 32767)
- int32 有符号 32 位整型 (-2147483648 到 2147483647)
- int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)
- uint8 ⽆符号 8 位整型 (0 到 255) 8位都⽤于表示数值:
- uint16 ⽆符号 16 位整型 (0 到 65535)
- uint32 ⽆符号 32 位整型 (0 到 4294967295)
- uint64 ⽆符号 64 位整型 (0 到 18446744073709551615)
3. 浮点型
float32 32位浮点型数
float64 64位浮点型数
其他
byte 等于 uint8
rune 等于 int32
uint 32 或 64 位
字符
Golang中没有专⻔的字符类型,如果要存储单个字符(字⺟),⼀般使⽤byte(本质是uint8,英文是字符等省空间)来保存。
字符串就是⼀串固定⻓度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。也就是说对于传统
的字符串是由字符组成的,⽽Go的字符串不同,它是由字节组成的。
package main import "fmt" func main() { var a byte a = 'a' //输出ascii对应码值 。。 这⾥说明⼀下什么是ascii码 fmt.Println(a) fmt.Printf("a=%c", a) }
字符常量只能使⽤单引号括起来,例如:var a byte = ‘a’ var a int = ‘a’
字符本质是⼀个数字, 可以进⾏加减乘除
package main import ( "fmt" "reflect" ) func main() { a := 'a' //这⾥注意⼀下 1. a+1可以和数字计算 2.a+1的类型是32 3. int类型可以直接变成字符 fmt.Println(reflect.TypeOf(a+1)) fmt.Printf("a+1=%c", a+1) }
还有一个类型rune类型(实际上是int32) 也是用于存字符串,主要用于存中文
字符串
字符串就是⼀串固定⻓度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语⾔的字符串的字节使⽤ UTF-8 编码标识 Unicode ⽂本。
package main import ( "fmt" ) func main() { var name string name ="good" fmt.Printf(name) }