开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 23天,点击查看活动详情
前言
本文主要介绍标准库中的strconv包的使用。strconv包实现了基本数据类型与其字符串表示的转换,主要有以下常用函数: Atoi()、Itoa()、Parse系列、Format系列等等
Atoi()
将string类型转换为int类型
函数定义:
func Atoi(s string) (i int, err error)
代码示例:
func main() {
i1, err := strconv.Atoi("100")
if err != nil {
fmt.Printf("err is:%v", err)
} else {
fmt.Printf("type:%T val:%v", i1, i1)
}
}
//输出:
//type:int val:100
Itoa()
将int类型转换为string类型
函数定义:
func Itoa(i int) string
代码示例:
func main() {
s1 := strconv.Itoa(123)
fmt.Printf("type:%T val:%v", s1, s1)
}
//输出:
//type:string val:123
Parse系列
Parse系列函数用于转换字符串为给定类型的值。包括ParseBool()、ParseFloat()、ParseInt()、ParseUint()。这些函数都有两个返回值,第一个返回值是转换后的值,第二个返回值为转化失败的错误信息。
ParseBool()
将string转换为bool类型
函数定义:
func ParseBool(str string) (value bool, err error)
注意:参数str只能接受"1"、"0"、"t"、"f"、"T"、"F"、"true"、"false"、"True"、"False"、"TRUE"、"FALSE"这些字符串,除这些外,会返回一个错误
代码示例:
func main() {
b1, err := strconv.ParseBool("1")
fmt.Println(b1, err)
b2, err := strconv.ParseBool("aaa")
fmt.Println(b2, err)
}
//输出:
//true <nil>
//false strconv.ParseBool: parsing "aaa": invalid syntax
ParseFloat()
将string转换为float类型
函数定义:
func ParseFloat(s string, bitSize int) (f float64, err error)
代码示例:
func main() {
b1, err := strconv.ParseBool("1")
fmt.Println(b1, err)
b2, err := strconv.ParseBool("aaa")
fmt.Println(b2, err)
}
//输出:
//true <nil>
//false strconv.ParseBool: parsing "aaa": invalid syntax
ParseInt()
将string转换为int类型
函数定义:
func ParseInt(s string, base int, bitSize int) (i int64, err error)
代码示例:
func main() {
b1, err := strconv.ParseBool("1")
fmt.Println(b1, err)
b2, err := strconv.ParseBool("aaa")
fmt.Println(b2, err)
}
//输出:
//true <nil>
//false strconv.ParseBool: parsing "aaa": invalid syntax
ParseUint()
将string转换为uint类型
函数定义:
func ParseInt(s string, base int, bitSize int) (i int64, err error)
代码示例:
func main() {
b1, err := strconv.ParseBool("1")
fmt.Println(b1, err)
b2, err := strconv.ParseBool("aaa")
fmt.Println(b2, err)
}
//输出:
//true <nil>
//false strconv.ParseBool: parsing "aaa": invalid syntax
Format系列
Format系列函数实现了将给定类型数据格式化为string类型数据的功能。包括FomatBool()、FomatFloat()、FomatInt()、FomatUint()。这些函数都只有一个返回值,转换后的字符串。
FormatBool()
将bool转换为string类型
函数定义:
func FormatBool(b bool) string
代码示例:
func main() {
b1, err := strconv.ParseBool("1")
fmt.Println(b1, err)
b2, err := strconv.ParseBool("aaa")
fmt.Println(b2, err)
}
//输出:
//true <nil>
//false strconv.ParseBool: parsing "aaa": invalid syntax
FormatFloat()
将float转换为string类型
函数定义:
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
代码示例:
func main() {
b1, err := strconv.ParseBool("1")
fmt.Println(b1, err)
b2, err := strconv.ParseBool("aaa")
fmt.Println(b2, err)
}
//输出:
//true <nil>
//false strconv.ParseBool: parsing "aaa": invalid syntax
FormatInt()
将int转换为string类型
函数定义:
func FormatInt(i int64, base int) string
代码示例:
func main() {
b1, err := strconv.ParseBool("1")
fmt.Println(b1, err)
b2, err := strconv.ParseBool("aaa")
fmt.Println(b2, err)
}
//输出:
//true <nil>
//false strconv.ParseBool: parsing "aaa": invalid syntax
FormatUint()
将unit转换为string类型
函数定义:
func FormatUint(i uint64, base int) string
代码示例:
func main() {
b1, err := strconv.ParseBool("1")
fmt.Println(b1, err)
b2, err := strconv.ParseBool("aaa")
fmt.Println(b2, err)
}
//输出:
//true <nil>
//false strconv.ParseBool: parsing "aaa": invalid syntax
如果本文对你有帮助,欢迎点赞收藏加关注,如果本文有错误的地方,欢迎指出!