Go语言是由Google公司开发的一门编程语言,具有简洁的语法和高效的开发体验,支持高并发编程且性能出色。它跨平台能力强,拥有丰富的标准库和良好的扩展性,适用于后端开发、云计算、分布式系统和命令行工具等多种应用场景。
在 Go 语言中,strconv
是 "string conversion" 的简称。它是 Go 标准库中的一个包,主要用于在字符串和其他数据类型之间进行转换。
strconv
包提供了以下几种类型的转换函数:
使用 strconv.ParseBool
将字符串转换为布尔值。
package main
import (
"fmt"
"strconv"
)
func main() {
boolStr := "true"
boolVal, err := strconv.ParseBool(boolStr)
if err != nil {
fmt.Println("转换失败:", err)
return
}
fmt.Println("布尔值:", boolVal) // 输出: 布尔值: true
}
使用 strconv.Atoi
将字符串转换为整数(即 strconv.ParseInt
的简单版)。
package main
import (
"fmt"
"strconv"
)
func main() {
intStr := "123"
intVal, err := strconv.Atoi(intStr)
if err != nil {
fmt.Println("转换失败:", err)
return
}
fmt.Println("整数值:", intVal) // 输出: 整数值: 123
}
使用 strconv.ParseFloat
将字符串转换为浮点数。
package main
import (
"fmt"
"strconv"
)
func main() {
floatStr := "123.45"
floatVal, err := strconv.ParseFloat(floatStr, 64)
if err != nil {
fmt.Println("转换失败:", err)
return
}
fmt.Println("浮点数值:", floatVal) // 输出: 浮点数值: 123.45
}
使用 strconv.FormatBool
将布尔值转换为字符串。
package main
import (
"fmt"
"strconv"
)
func main() {
boolVal := true
boolStr := strconv.FormatBool(boolVal)
fmt.Println("字符串:", boolStr) // 输出: 字符串: true
}
使用 strconv.FormatInt
或 strconv.FormatUint
将整数转换为字符串。
package main
import (
"fmt"
"strconv"
)
func main() {
intVal := 123
intStr := strconv.FormatInt(int64(intVal), 10)
fmt.Println("字符串:", intStr) // 输出: 字符串: 123
uintVal := uint(456)
uintStr := strconv.FormatUint(uint64(uintVal), 10)
fmt.Println("字符串:", uintStr) // 输出: 字符串: 456
}
使用 strconv.FormatFloat
将浮点数转换为字符串。
package main
import (
"fmt"
"strconv"
)
func main() {
floatVal := 123.45
floatStr := strconv.FormatFloat(floatVal, 'f', -1, 64)
fmt.Println("字符串:", floatStr) // 输出: 字符串: 123.45
}
strconv
包在 Go 语言中提供了丰富的函数,用于在字符串和其他数据类型之间进行转换。这些函数在处理用户输入、配置文件解析、数据序列化等场景中非常有用。通过合理使用 strconv
包中的函数,可以方便地实现不同类型数据的转换和处理。