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 个参数:

  1. bitSize参数表示转换为什么位的 int/uint,有效值为 0、8、16、32、64。当 bitSize=0 的时候,表示转换 为 int 或 uint 类型。例如 bitSize=8 表示转换后的值的类型为 int8 或 uint8。
  2. 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 表示。

posted @ 2023-03-08 16:41  ForLivetoLearn  阅读(15)  评论(0编辑  收藏  举报