概述
strconv
包提供了一系列辅助函数,用于在字符串类型和其他基本数据类型之间进行转换。
Atoi & Itoa
在 strconv
包中,最常用的函数之一是字符串和整数之间的相互转换。Atoi
用于将字符串转换为整数(string to int
),Itoa
用于将整数转换为字符串(int to string
)。注意,这两个函数处理的整数都是十进制的。
函数声明如下:
func Atoi(s string) (int, error)
// 当字符串格式错误时会返回 strconv.NumError
func Itoa(i int) string
ParseX 系列函数
当需要将字符串转换为其他类型的变量时,可以使用 strconv
中的 ParseX
系列函数。该系列函数包含四个函数:ParseBool
、ParseInt
、ParseFloat
和 ParseUint
。
详细的函数说明如下:
func ParseBool(str string) (bool, error)
该函数将字符串转换为布尔值。如果输入格式错误,则返回
NumError
。接受的真值包括:"1"
,"t"
,"T"
,"TRUE"
,"true"
,"True"
;假值包括:"0"
,"f"
,"F"
,"FALSE"
,"false"
,"False"
。func ParseInt(s string, base int, bitSize int) (i int64, err error)
该函数将字符串转换为指定进制和位大小的整数。参数说明:
s
:要转换的字符串。base
:整数的进制(2-36,0 表示自动检测,如 0x 表示 16 进制)。bitSize
:整数的位大小(0、8、16、32、64),如0
表示 int 类型,64
表示 int64 类型。
如果输入格式错误,返回
NumError
。func ParseUint(s string, base int, bitSize int) (n uint64, err error)
ParseUint
与ParseInt
类似,但用于无符号整数。func ParseFloat(s string, bitSize int) (float64, error)
该函数将字符串转换为浮点数。参数说明:
s
:要转换的字符串。bitSize
:浮点数的位大小,典型值为 32 和 64。
无论
bitSize
取值如何,返回值的类型都是float64
。
FormatX 系列函数
与 ParseX
相对应,FormatX
系列函数用于将其他类型的变量转换为字符串类型。这一系列包含以下四个函数:
func FormatBool(b bool) string
将布尔值转换为字符串。
func FormatInt(i int64, base int) string
将有符号整数转换为指定进制的字符串。
func FormatUint(i uint64, base int) string
将无符号整数转换为指定进制的字符串。
与 ParseX
函数不同,从其他类型转换为字符串总会成功,因此这些函数不会返回错误。
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
FormatFloat
函数用于将浮点数转换为字符串。参数说明:f
:要转换的浮点数。fmt
:浮点数的格式('b'
,'e'
,'E'
,'f'
,'g'
,'G'
)。prec
:浮点数的精度(取决于fmt
的值)。bitSize
:浮点数的位大小(32 或 64)。
有关 FormatFloat
参数的详细介绍,请参阅 GoDoc FormatFloat。
了更好的组织,使信息更加清晰,并对一些关键点进行了补充说明,帮助理解。