go 语言的 strconv 包提供了用于基本数据类型之间转换的函数,包括字符串到其他基本类型的转换,以及其他基本类型到字符串的转换。
字符串转换为基本数据类型
strconv.atoi:将字符串转换为intstrconv.parsebool:将字符串转换为boolstrconv.parsefloat:将字符串转换为float64strconv.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包内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论