【Go】字符串和基本数据类型之间相互转换

目录

字符串转换为其他类型

其他类型转换为字符串

处理错误和默认值


在Go语言的strconv包中,提供了一系列用于字符串和基本数据类型之间相互转换的函数。以下是strconv包中的主要函数列表:

  1. Atoi(s string) (int, error):将字符串转换为int类型。

  2. Itoa(i int) string:将int类型转换为字符串。

  3. ParseBool(str string) (bool, error):将字符串转换为bool类型。

  4. FormatBool(b bool) string:将bool类型转换为字符串。

  5. ParseInt(s string, base int, bitSize int) (int64, error):将字符串转换为指定进制下的int64类型。

  6. ParseUint(s string, base int, bitSize int) (uint64, error):将字符串转换为无符号整数类型(uint64)。

  7. FormatInt(i int64, base int) string:将int64类型转换为指定进制下的字符串。

  8. FormatUint(u uint64, base int) string:将无符号整数类型(uint64)转换为指定进制下的字符串。

  9. ParseFloat(s string, bitSize int) (float64, error):将字符串转换为float64类型。

  10. FormatFloat(f float64, fmt byte, prec, bitSize int) string:将float64类型转换为字符串,可以指定格式和精度。

  11. AppendInt(dst []byte, i int64, base int) []byte:将int64类型追加到字节切片中。

  12. AppendBool(dst []byte, b bool) []byte:将bool类型追加到字节切片中。

  13. AppendQuote(dst []byte, s string) []byte:将字符串添加引号并追加到字节切片中。

strconv包是Go语言中的标准库之一,用于字符串和基本数据类型之间的转换。它提供了许多函数,可以方便地进行字符串解析和格式化。下面是一些strconv包的常见用法示例:

字符串转换为其他类型

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "1234"

	// 字符串转换为整数
	num, err := strconv.Atoi(str)
	if err != nil {
		fmt.Println("转换失败:", err)
		return
	}
	fmt.Println(num)

	// 字符串转换为布尔值
	b, err := strconv.ParseBool("true")
	if err != nil {
		fmt.Println("转换失败:", err)
		return
	}
	fmt.Println(b)

	// 字符串转换为浮点数
	f, err := strconv.ParseFloat("3.14", 64)
	if err != nil {
		fmt.Println("转换失败:", err)
		return
	}
	fmt.Println(f)
}

 在上述示例中,我们使用strconv.Atoi将字符串转换为整数,strconv.ParseBool将字符串转换为布尔值,strconv.ParseFloat将字符串转换为浮点数。如果转换过程中出现错误,我们会打印错误信息。

其他类型转换为字符串

package main

import (
	"fmt"
	"strconv"
)

func main() {
	num := 1234

	// 整数转换为字符串
	str := strconv.Itoa(num)
	fmt.Println(str)

	// 布尔值转换为字符串
	str = strconv.FormatBool(true)
	fmt.Println(str)

	// 浮点数转换为字符串
	str = strconv.FormatFloat(3.14, 'E', -1, 64)
	fmt.Println(str)
}

 在上述示例中,我们使用strconv.Itoa将整数转换为字符串,strconv.FormatBool将布尔值转换为字符串,strconv.FormatFloat将浮点数转换为字符串,并指定打印格式。

处理错误和默认值

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "abc"

	// 错误处理
	num, err := strconv.Atoi(str)
	if err != nil {
		fmt.Println("转换失败:", err)
	} else {
		fmt.Println(num)
	}

	// 默认值
	num, err = strconv.Atoi(str)
	if err != nil {
		num = 0 // 默认值
	}
	fmt.Println(num)
}

 在上述示例中,我们处理了Atoi函数的错误,并提供了默认值作为后备选项。

这些示例只是strconv包的一部分功能,它还提供了许多其他函数,可以进行更复杂的转换操作。你可以查阅官方文档或使用go doc strconv命令获取更详细的信息。

猜你喜欢

转载自blog.csdn.net/fanjufei123456/article/details/132099107