Golang字符串转整数

在Golang中如何将字符串转换为整数?使用strconv.Atoi()函数时遇到错误处理问题,当字符串包含非数字字符时会返回错误。请问除了Atoi()外,还有哪些可靠的字符串转整数方法?如何正确处理转换过程中可能出现的各种异常情况?

2 回复

使用strconv.Atoi()函数:

s := "123"
i, err := strconv.Atoi(s)
if err != nil {
    // 处理错误
}

或者使用strconv.ParseInt()

i, err := strconv.ParseInt(s, 10, 64)

更多关于Golang字符串转整数的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


在Go语言中,将字符串转换为整数可以使用标准库中的 strconv.Atoi() 函数。该函数返回两个值:转换后的整数和可能的错误信息。

示例代码:

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "12345"
    num, err := strconv.Atoi(str)
    if err != nil {
        fmt.Println("转换错误:", err)
        return
    }
    fmt.Printf("字符串 '%s' 转换为整数: %d\n", str, num)
}

说明:

  • strconv.Atoi() 内部调用 ParseInt(str, 10, 0),将字符串按十进制解析为 int 类型。
  • 如果字符串包含非数字字符、超出整数范围或为空,会返回错误。
  • 若确定字符串有效,可使用 num, _ := strconv.Atoi(str) 忽略错误(不推荐)。

输出:

字符串 '12345' 转换为整数: 12345

对于其他进制(如二进制、十六进制),可使用 strconv.ParseInt() 函数指定进制和位数。

回到顶部