Go语言中的 strconv 包为我们提供了字符串和基本数据类型之间的转换功能
strconv 包中常用的函数包括 Atoi()
、Itia()
、parse
系列函数、format
系列函数、append
系列函数
func Itoa(i int) string
package main
import (
"fmt"
"strconv"
)
func main() {
i := 100
a := strconv.Itoa(i)
fmt.Println(a)
}
func Atoi(s string) (i int, err error)
//有两个返回值,i 为转换成功的整型,err 在转换成功是为空转换失败时为相应的错误信息
package main
import (
"fmt"
"strconv"
)
func main() {
a := "100"
i, err := strconv.Atoi(a)
if err != nil {
fmt.Println("转换失败")
} else {
fmt.Println(i)
}
}
Parse 系列函数用于将字符串转换为指定类型的值,其中包括 ParseBool()
、ParseFloat()
、ParseInt()
、ParseUint()
。
ParseBool() 函数用于将字符串转换为 bool 类型的值,除了特定字符串外,其余值均返回错误
1
、t
、T
、true
、True
、TRUE
0
、f
、F
、false
、False
、FALSE
func ParseBool(str string) (value bool, err error)
package main
import (
"fmt"
"strconv"
)
func main() {
s := "0"
b, err := strconv.ParseBool(s)
if err != nil {
fmt.Println("转换失败")
} else {
fmt.Println(b)
}
}
ParseInt() 函数用于返回字符串表示的整数值(可以包含正负号)
func ParseInt(s string, base int, bitSize int) (i int64, err error)
0x
是 16 进制,0
是 8 进制,否则是 10 进制。*NumErr
类型的,如果语法有误,err.Error = ErrSyntax
,如果结果超出类型范围 err.Error = ErrRange
。ParseUint() 函数的功能类似于 ParseInt() 函数,但 ParseUint()
函数不接受正负号,用于无符号整型
func ParseUint(s string, base int, bitSize int) (n uint64, err error)
ParseFloat() 函数用于将一个表示浮点数的字符串转换为 float 类型
func ParseFloat(s string, bitSize int) (f float64, err error)
*NumErr
类型的,如果语法有误 err.Error=ErrSyntax
,如果返回值超出表示范围err.Error= ErrRange
。Format 系列函数实现了将给定类型数据格式化为字符串类型的功能,其中包括 FormatBool()
、FormatInt()
、FormatUint()
、FormatFloat()
。
FormatBool() 函数可以一个 bool 类型的值转换为对应的字符串类型
func FormatBool(b bool) string
FormatInt() 函数用于将整型数据转换成指定进制并以字符串的形式返回
func FormatInt(i int64, base int) string
参数 i 必须是 int64 类型,参数 base 为进制,必须在 2 到 36 之间,返回结果中会使用小写字母a
到z
表示大于 10 的数字
FormatUint() 函数与 FormatInt() 函数的功能类似,但是参数 i 必须是无符号的 uint64 类型
func FormatUint(i uint64, base int) string
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
f
表示 -ddd.dddd
,常见小数格式b
表示 -ddddp±ddd
,指数为二进制e
表示 -d.dddde±dd
十进制指数E
表示 -d.ddddE±dd
十进制指数g
表示指数很大时用e
格式,否则f
格式G
表示指数很大时用E
格式,否则f
格式。f
、e
、E
时,它表示小数点后的数字个数;当参数 fmt 为g
、G
时,它控制总的数字个数。如果 prec 为 -1
,则代表使用最少数量的、但又必需的数字来表示 f
。Append 系列函数用于将指定类型转换成字符串后追加到一个切片中,其中包含 AppendBool()
、AppendFloat()
、AppendInt()
、AppendUint()
。
Append 系列函数和 Format 系列函数的使用方法类似,只不过是将转换后的结果追加到一个切片中。