Go语言的strconv
包提供了丰富的字符串与数字之间转换的函数,这些函数是处理字符串与基本数据类型(如整型、浮点型、布尔型等)转换的重要工具。以下是strconv
包中主要的字符串与数字之间转换的函数:
字符串转数字
Atoi()
- 功能:将字符串转换为
int
类型的整数。 - 函数签名:
func Atoi(s string) (i int, err error)
- 说明:该函数是
ParseInt(s, 10, 0)
的简写,即将字符串按照十进制解析为整数。如果转换失败,会返回错误。
- 功能:将字符串转换为
ParseInt()
- 功能:将字符串按照指定的进制和位宽转换为整数。
- 函数签名:
func ParseInt(s string, base int, bitSize int) (i int64, err error)
- 说明:
base
指定进制(2到36),bitSize
指定结果必须能无溢出赋值的整数类型(0、8、16、32、64分别代表int
、int8
、int16
、int32
、int64
)。如果base
为0,则会根据字符串前缀判断进制(如"0x"表示16进制,"0"表示8进制,否则为10进制)。
ParseUint()
- 功能:与
ParseInt()
类似,但用于无符号整数。 - 函数签名:
func ParseUint(s string, base int, bitSize int) (n uint64, err error)
- 说明:参数和
ParseInt()
相同,但返回的是uint64
类型的无符号整数。
- 功能:与
ParseFloat()
- 功能:将字符串转换为浮点数。
- 函数签名:
func ParseFloat(s string, bitSize int) (f float64, err error)
- 说明:
bitSize
指定了返回值的类型(32表示float32
,64表示float64
)。函数会返回最为接近s
表示值的一个浮点数(使用IEEE754规范舍入)。
ParseBool()
- 功能:将字符串转换为布尔值。
- 函数签名:
func ParseBool(str string) (value bool, err error)
- 说明:该函数接受真值(如"1"、"t"、"T"、"true"、"True"、"TRUE")和假值(如"0"、"f"、"F"、"false"、"False"、"FALSE"),其他值会返回错误。
数字转字符串
Itoa()
- 功能:将
int
类型的整数转换为字符串。 - 函数签名:
func Itoa(i int) string
- 说明:该函数是
FormatInt(i, 10)
的简写,即将整数按照十进制转换为字符串。
- 功能:将
FormatInt()
- 功能:将整数按照指定的进制转换为字符串。
- 函数签名:
func FormatInt(i int64, base int) string
- 说明:
base
指定进制(2到36),结果中大于10的数字用小写字母a-z
表示。
FormatUint()
- 功能:与
FormatInt()
类似,但用于无符号整数。 - 函数签名:
func FormatUint(i uint64, base int) string
- 说明:参数和
FormatInt()
相同,但用于无符号整数。
- 功能:与
FormatFloat()
- 功能:将浮点数按照指定的格式转换为字符串。
- 函数签名:
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
- 说明:
fmt
指定格式(如'b'、'e'、'E'、'f'、'g'、'G'),prec
指定精度(小数点后的位数或总位数),bitSize
指定浮点类型(32或64)。
FormatBool()
- 功能:将布尔值转换为字符串。
- 函数签名:
func FormatBool(b bool) string
- 说明:将布尔值
true
转换为字符串"true",将false