【笔记】Go语言数据类型转换

前言

Go语言数据类型转换学习笔记

不同位整型之间数据互相转换

<num>:转换之前的整型数据

1
2
3
4
int8(<num>)
int16(<num>)
int32(<num>)
int64(<num>)

字符串与有符号整型互转

字符串转有符号整型

<str>:需要转换的字符串
10:十进制
64:64位

1
num, err := strconv.Atoi(str)
1
num, err := strconv.ParseInt(<str>, 10, 64)

有符号整型转字符串

<num>:需要转换的数字
10:10进制

1
str := strconv.Itoa(<num>)
1
str := strconv.FormatInt(<num>, 10)

字符串与无符号整型互转

字符串转无符号整型

<str>:需要转换的字符串
10:十进制
64:64位

1
num, err := strconv.ParseUint(<str>, 10, 64)

无符号整型转字符串

<num>:需要转换的数字
10:10进制

1
str := strconv.FormatUint(<num>, 10)

字符串与浮点型互转

字符串转浮点型

<str>:需要转换的字符串
64:比特位,比特位只能指定32和64,但实际上这个API的返回值无论制定32还是64最终都会返回64位的浮点数

1
num, err := strconv.ParseFloat(<str>, 64)

浮点型转字符串

<num>:需要转换的数字

1
str := strconv.FormatFloat(<num>, 'E', -1, 64)

字符串转布尔值

字符串与布尔值互转

  • 只能将指定字符串转换为布尔型,而不是任意字符串都能转换
    • 所有转换后返回为true的字符串:1tTtrueTrueTRUE
    • 所有转换后返回为false的字符串:0fFfalseFalseFALSE
    • 其他一切字符串的转换都会报错

<str>:需要转换的字符串

1
flag, err := strconv.ParseBool(<str>)

布尔值转字符串

<num>:需要转换的布尔值

1
str := strconv.FormatBool(<bool>)

完成

参考文献

哔哩哔哩——Python路飞
Go API
腾讯云开发者社区
纯净天空