string 类型与 int 类型相互转换

通过 strconv 包的函数可以方便的进行 string -> int 类型和 int -> string 类型的转换

string 类型转换为 int 类型

atio.go 源文件中定义了 string 类型转换 int 类型的所有方法

  1. 将 string 类型转换为 int 类型
// "111" -> 111
v,err := strconv.Atoi("111")
  1. 将 string 类型转换为 int64 类型
// 参数1:待转换的字符串
// 参数2:转换基数,取值范围(0, 2-36)
// 参数3:转换 int 类型,取值范围(0,8,16,32,64)对应(int,int8,int16,int32,int64)
v,err := strconv.ParseInt("111",10,64)
// 如果参数2取值:< 0、1 或 > 36 提示错误无效的 base
v,err := strconv.ParseInt("111",1,64)
// 0 strconv.ParseInt: parsing "1111": invalid base 1

int 类型转换为 string 类型

itoa.go 源文件中定义了 int 类型转换为 string 类型的所有方法

  1. 将 int 类型转换为 string 类型
// 参数 1: 待转换的 int 类型的数字
strconv.Itoa(10)
// 10 -> "10"
  1. 将 int64 类型转换为 string 类型,也可以作为通用 int 转换 string 类型方法使用
// 参数 1: 待转换的 int64 类型的数字
// 参数 2: 转换基数(2<=base<=32)
// 1111 -> "1111"
strconv.FormatInt(1111,10)

// 2基数转换:1111 -> "10001010111"
// 3基数转换:1111 -> "1112011"
// 4基数转换:1111 -> "101113"
// 5基数转换:1111 -> "13421"
// 6基数转换:1111 -> "5051"
// 7基数转换:1111 -> "3145"
// 8基数转换:1111 -> "2127"
// 9基数转换:1111 -> "1464"
// 10基数转换:1111 -> "1111"
// 11基数转换:1111 -> "920"
// 12基数转换:1111 -> "787"
// 13基数转换:1111 -> "676"
// 14基数转换:1111 -> "595"
// 15基数转换:1111 -> "4e1"
// 16基数转换:1111 -> "457"
// 17基数转换:1111 -> "3e6"
// 18基数转换:1111 -> "37d"
// 19基数转换:1111 -> "319"
// 20基数转换:1111 -> "2fb"
// 21基数转换:1111 -> "2aj"
// 22基数转换:1111 -> "26b"
// 23基数转换:1111 -> "227"
// 24基数转换:1111 -> "1m7"
// 25基数转换:1111 -> "1jb"
// 26基数转换:1111 -> "1gj"
// 27基数转换:1111 -> "1e4"
// 28基数转换:1111 -> "1bj"
// 29基数转换:1111 -> "199"
// 30基数转换:1111 -> "171"
// 31基数转换:1111 -> "14q"
// 32基数转换:1111 -> "12n"

bool、uint、float 类型

  1. 分别通过 ParseBool、ParseUint、ParseFloat 方法将字符串转换为相应数据类型
  2. 分别通过 FormatBool、FormatUint、FormatFloat 方法将对应数据类型转换为字符串

相关参数参考源码(API): bool 类型转换类 atob.go 、unit 类型转换类 atoi.go、float 类型转换类 atof.go