12.Go复合类型-字符串转换
前言
上一篇章,我们学习了 字符串 处理的相关函数方法,本篇章来看看 字符串转换 的相关函数方法。
4:字符串转换
通过以上的讲解,发现字符串的处理是非常重要的,GO语言也提供了字符串与其它类型之间相互转换的函数。相应的字符串转换函数都在”strconv”包。
Format
Format 系列函数把其他类型的转换为字符串。
代码语言:javascript复制//将bool类型转换为字符串
var str string
str = strconv.FormatBool(false)
fmt.Println(str)
执行如下:
代码语言:javascript复制false
将整型转换成字符串:
代码语言:javascript复制//将整型转换成字符串:
var str string
str = strconv.Itoa(666)
fmt.Println(str)
将浮点数,转换成字符串
代码语言:javascript复制//将浮点数,转换成字符串
var str string
// 'f' 指打印格式,以小数方式,3指小数位点位数,64以float64处理
str = strconv.FormatFloat(3.14,'f',3,64)
fmt.Println("str = ", str)
执行如下:
代码语言:javascript复制str = 3.140
Parse
Parse 系列函数把字符串转换为其他类型
代码语言:javascript复制//字符串转为其他类型
var flag bool
var err error
flag, err = strconv.ParseBool("true")
if err == nil {
fmt.Println("flag = ", flag)
} else {
fmt.Println("err = ", err)
}
// 将字符串转换为整数
a, _ := strconv.Atoi("567")
fmt.Println("a = ", a)
// 将字符串转换为浮点数
b, err := strconv.ParseFloat("123.23", 64)
if err == nil {
fmt.Println("b = ", b)
} else {
fmt.Println("err = ", err)
}
执行如下:
代码语言:javascript复制flag = true
a = 567
b = 123.23
Append
Append 系列函数将整数等转换为字符串后,添加到现有的字节数组中。
代码语言:javascript复制// 转换为字符串后追加到字节数组
slice := make([]byte, 0, 1024)
slice = strconv.AppendBool(slice, true)
// 第二个数为追加的数,第3个为指定10进制方式追加
slice = strconv.AppendInt(slice, 1234, 10)
slice = strconv.AppendQuote(slice, "abcgohello")
fmt.Println("slice = ", string(slice)) // 转换string后再打印
对应的结果是:
代码语言:javascript复制slice = true1234"abcgohello"