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

文章标题:100道Go语言面试题之-Go语言的strconv包提供了哪些字符串与数字之间转换的函数?
  • 文章分类: 后端
  • 7829 阅读

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分别代表intint8int16int32int64)。如果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
推荐文章