Go数据类型
1. bool类型
布尔型的值只可以是常量 true 或者 false。
var b bool = true
2. 数值型
1. 整数型
-
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)
-
int 根据操作系统位数选择
-
uint 根据操作系统位数选择
-
byte 等于uint8
-
rune 等于int32
字符串中带有中文,需转换
name1 := "博客园"
nameStr := []rune(name1)
2. 浮点型
- float32 32位浮点型数
- float64 64位浮点型数
3. 字符
字符由单引号包裹
a := 's'
4. 字符串
字符串由双引号包裹
a := "string"
5. 数据类型转换
- 整型-浮点型转换
a := 5.0
b := int(a)
a := 5
b := float32(a)
- *整形-字符串 Iota()
strconv.Itoa(32)
- *字符串-整形 Atoi()
i, err := strconv.Atoi("3")
if err != nil {
return
}
- 字符串->其他类型
b, err := strconv.ParseBool("true")
f, err := strconv.ParseFloat("3.1415", 64)
i, err := strconv.ParseInt("-42", 10, 64)
u, err := strconv.ParseUint("42", 10, 64)
ParseInt() 和 ParseUint() 有 3 个参数:
- bitSize参数表示转换为什么位的 int/uint,有效值为 0、8、16、32、64。当 bitSize=0 的时候,表示转换 为 int 或 uint 类型。例如 bitSize=8 表示转换后的值的类型为 int8 或 uint8。
- base参数表示以什么进制的⽅式去解析给定的字符串,有效值为 0、2-36。当 base=0 的时候,表示根据 string 的前缀来判断以什么进制去解析:0x开头的以 16 进制的⽅式去解析,0开头的以 8 进制⽅式去解
析,其它的以 10 进制⽅式解析。
- 其他类型->字符串
s := strconv.FormatBool(true)
s := strconv.FormatFloat(3.1415, 'E', -1, 64)
s := strconv.FormatInt(-42, 16)
s := strconv.FormatUint(42, 16)
第⼆个参数 base 指定将第⼀个参数转换为多少进制,有效值为2<=base<=36。当指定的进制位⼤于 10 的时 候,超出 10 的数值以 a-z 字⺟表示。例如 16 进制时,10-15 的数字分别使⽤ a-f 表示,17 进制时,10-16 的数
值分别使⽤ a-g 表示。
初学linux,每学到一点东西就写一点,如有不对的地方,恳请包涵!