当前位置: 技术文章>> 100道Go语言面试题之-Go语言的strconv包提供了哪些字符串与数字之间转换的函数?

文章标题:100道Go语言面试题之-Go语言的strconv包提供了哪些字符串与数字之间转换的函数?
  • 文章分类: 后端
  • 7730 阅读
Go语言的`strconv`包提供了丰富的字符串与数字之间转换的函数,这些函数是处理字符串与基本数据类型(如整型、浮点型、布尔型等)转换的重要工具。以下是`strconv`包中主要的字符串与数字之间转换的函数: ### 字符串转数字 1. **Atoi()** - **功能**:将字符串转换为`int`类型的整数。 - **函数签名**:`func Atoi(s string) (i int, err error)` - **说明**:该函数是`ParseInt(s, 10, 0)`的简写,即将字符串按照十进制解析为整数。如果转换失败,会返回错误。 2. **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进制)。 3. **ParseUint()** - **功能**:与`ParseInt()`类似,但用于无符号整数。 - **函数签名**:`func ParseUint(s string, base int, bitSize int) (n uint64, err error)` - **说明**:参数和`ParseInt()`相同,但返回的是`uint64`类型的无符号整数。 4. **ParseFloat()** - **功能**:将字符串转换为浮点数。 - **函数签名**:`func ParseFloat(s string, bitSize int) (f float64, err error)` - **说明**:`bitSize`指定了返回值的类型(32表示`float32`,64表示`float64`)。函数会返回最为接近`s`表示值的一个浮点数(使用IEEE754规范舍入)。 5. **ParseBool()** - **功能**:将字符串转换为布尔值。 - **函数签名**:`func ParseBool(str string) (value bool, err error)` - **说明**:该函数接受真值(如"1"、"t"、"T"、"true"、"True"、"TRUE")和假值(如"0"、"f"、"F"、"false"、"False"、"FALSE"),其他值会返回错误。 ### 数字转字符串 1. **Itoa()** - **功能**:将`int`类型的整数转换为字符串。 - **函数签名**:`func Itoa(i int) string` - **说明**:该函数是`FormatInt(i, 10)`的简写,即将整数按照十进制转换为字符串。 2. **FormatInt()** - **功能**:将整数按照指定的进制转换为字符串。 - **函数签名**:`func FormatInt(i int64, base int) string` - **说明**:`base`指定进制(2到36),结果中大于10的数字用小写字母`a-z`表示。 3. **FormatUint()** - **功能**:与`FormatInt()`类似,但用于无符号整数。 - **函数签名**:`func FormatUint(i uint64, base int) string` - **说明**:参数和`FormatInt()`相同,但用于无符号整数。 4. **FormatFloat()** - **功能**:将浮点数按照指定的格式转换为字符串。 - **函数签名**:`func FormatFloat(f float64, fmt byte, prec, bitSize int) string` - **说明**:`fmt`指定格式(如'b'、'e'、'E'、'f'、'g'、'G'),`prec`指定精度(小数点后的位数或总位数),`bitSize`指定浮点类型(32或64)。 5. **FormatBool()** - **功能**:将布尔值转换为字符串。 - **函数签名**:`func FormatBool(b bool) string` - **说明**:将布尔值`true`转换为字符串"true",将`false`
推荐文章