Go 语言的 strconv
包提供了用于基本数据类型之间转换的函数,包括字符串到其他基本类型的转换,以及其他基本类型到字符串的转换。
字符串转换为基本数据类型
strconv.Atoi
:将字符串转换为int
strconv.ParseBool
:将字符串转换为bool
strconv.ParseFloat
:将字符串转换为float64
strconv.ParseInt
:将字符串转换为int64
,可以指定进制strconv.ParseUint
:将字符串转换为uint64
,可以指定进制
package main import ( "fmt" "log" "strconv" ) func main() { //字符串转换为基本数据类型 //----------------------------------- strconv.Atoi - 将字符串转换为 int。 intStr := "123" intVal, err := strconv.Atoi(intStr) if err != nil { log.Fatal(err) } fmt.Printf("%v,%T\n", intVal, intVal) fmt.Println(intVal) // 输出: 123 //----------------------------------- strconv.ParseBool - 将字符串转换为 bool。 boolStr := "true" boolVal, err := strconv.ParseBool(boolStr) if err != nil { log.Fatal(err) } fmt.Printf("%v,%T\n", boolVal, boolVal) fmt.Println(boolVal) // 输出: true //----------------------------------- strconv.ParseFloat - 将字符串转换为 float64。 floatStr := "123.45" floatVal, err := strconv.ParseFloat(floatStr, 64) if err != nil { log.Fatal(err) } fmt.Printf("%v,%T\n", floatVal, floatVal) fmt.Println(floatVal) // 输出: 123.45 //----------------------------------- strconv.ParseInt - 将字符串转换为 int64,可以指定进制。 intStrParseInt := "123" // 默认为10进制 intValParseInt, err := strconv.ParseInt(intStrParseInt, 10, 64) if err != nil { log.Fatal(err) } fmt.Printf("%v,%T\n", intValParseInt, intValParseInt) fmt.Println(intValParseInt) // 输出: 123 //----------------------------------- 2进制 binStr := "11010001" var intVal2, err2 = strconv.ParseInt(binStr, 2, 64) if err2 != nil { log.Fatal(err2) } fmt.Printf("%v,%T\n", intVal2, intVal2) fmt.Println(intVal2) // 输出: 209 //-----------------------------------strconv.ParseUint - 将字符串转换为 uint64,可以指定进制。 uintStr := "123" uintVal, err := strconv.ParseUint(uintStr, 10, 64) if err != nil { log.Fatal(err) } fmt.Printf("%v,%T\n", uintVal, uintVal) fmt.Println(uintVal) // 输出: 123 }
基本数据类型转换为字符串
strconv.Itoa
:将int
转换为字符串strconv.FormatBool
:将bool
转换为字符串strconv.FormatFloat
:将float64
转换为字符串,可以指定格式化选项strconv.FormatInt
:将int64
转换为字符串,可以指定进制strconv.FormatUint
:将uint64
转换为字符串,可以指定进制
package main import ( "fmt" "strconv" ) func main() { //基本数据类型转换为字符串 //-----------------------------------strconv.Itoa - 将 int 转换为字符串。 intVal := 123 intStr := strconv.Itoa(intVal) fmt.Printf("%v,%T\n", intStr, intStr) fmt.Println(intStr) // 输出: 123 //strconv.FormatBool - 将 bool 转换为字符串。 boolVal := true boolStr := strconv.FormatBool(boolVal) fmt.Printf("%v,%T\n", boolStr, boolStr) fmt.Println(boolStr) // 输出: true //-----------------------------------strconv.FormatFloat - 将 float64 转换为字符串,可以指定格式化选项。 floatVal := 123.45 floatStr := strconv.FormatFloat(floatVal, 'f', 2, 64) fmt.Printf("%v,%T\n", floatStr, floatStr) fmt.Println(floatStr) // 输出: 123.45 //-----------------------------------strconv.FormatInt - 将 int64 转换为字符串,可以指定进制。 intVal64 := int64(123) intStr64 := strconv.FormatInt(intVal64, 10) // 10进制 fmt.Printf("%v,%T\n", intStr64, intStr64) fmt.Println(intStr64) // 输出: 123 //----------------------------------- 2进制 intStr2 := strconv.FormatInt(intVal64, 2) fmt.Printf("%v,%T\n", intStr2, intStr2) fmt.Println(intStr) // 输出: 1111011 //-----------------------------------strconv.FormatUint - 将 uint64 转换为字符串,可以指定进制。 uintVal := uint64(123) uintStr := strconv.FormatUint(uintVal, 10) // 10进制 fmt.Printf("%v,%T\n", uintStr, uintStr) fmt.Println(uintStr) // 输出: 123 //----------------------------------- 16进制 uintStr = strconv.FormatUint(uintVal, 16) fmt.Printf("%v,%T\n", uintStr, uintStr) fmt.Println(uintStr) // 输出: 7b }
到此这篇关于Go 类型转换工具包strconv包的用法的文章就介绍到这了,更多相关Go strconv包内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!