【Golang】字符串和其他数据类型之间的转换 strconv

前言

Go语言是由Google公司开发的一门编程语言,具有简洁的语法和高效的开发体验,支持高并发编程且性能出色。它跨平台能力强,拥有丰富的标准库和良好的扩展性,适用于后端开发、云计算、分布式系统和命令行工具等多种应用场景。


在 Go 语言中,strconv 是 "string conversion" 的简称。它是 Go 标准库中的一个包,主要用于在字符串和其他数据类型之间进行转换。

strconv 包提供了以下几种类型的转换函数:

1. 字符串转布尔值

使用 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
}

2. 字符串转整数

使用 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
}

3. 字符串转浮点数

使用 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
}

4. 布尔值转字符串

使用 strconv.FormatBool 将布尔值转换为字符串。

package main

import (
	"fmt"
	"strconv"
)

func main() {
	boolVal := true
	boolStr := strconv.FormatBool(boolVal)
	fmt.Println("字符串:", boolStr) // 输出: 字符串: true
}

5. 整数转字符串

使用 strconv.FormatIntstrconv.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
}

6. 浮点数转

字符串

使用 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 包中的函数,可以方便地实现不同类型数据的转换和处理。

你可能感兴趣的:(GO,golang,学习,go)