12.Go复合类型-字符串转换

2022-01-17 10:37:13 浏览数 (1)

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"

0 人点赞