2.1 类型转换

一、整形之间的转换

直接加上int8()等类型进行转换接

var x int8 = 100
var y int16 = 200
fmt.Println(x + int8(y))
fmt.Println(int16(x) + 200)
fmt.Println(int32(x) + int32(y))

二、字符串与整形之间的转换

可以使用工具函数strconv进行转换

strconv.Atoi(字符串):字符串转整形

strconv.Itoa(整形):整形转字符串

// 字符串转整形
var ageStr string = "20"
ageInt, _ := strconv.Atoi(ageStr)
fmt.Println(ageInt, reflect.TypeOf(ageInt))

// 整形转字符串
ageStr = strconv.Itoa(ageInt + 10)
fmt.Println(ageStr, reflect.TypeOf(ageStr))

三、使用strconv中的Parse系列函数

  1. 将字符串转换为整形

    // (内容, 转换成几进制,存储的几个比特位(限制不允许超过多少,一般使用int64——即64))
    ret, _ := strconv.ParseInt("288", 10, 8) // 输出127(int8的最大位数)
    fmt.Println(ret, reflect.TypeOf(ret))
  2. 将字符串转换为浮点型

    // (内容,存储的几个比特位——建议64(返回值为float64类型))
    float, _ := strconv.ParseFloat("3.1415926", 64)
    fmt.Println(float, reflect.TypeOf(float))
  3. 将字符串转换为布尔型

    只接收1, 0,t,f,T,F,true,false,True,False,TRUE,FALSE,否则报错

    b, _ := strconv.ParseBool("0")
    fmt.Println(b, reflect.TypeOf(b))

Last updated