为了账号安全,请及时绑定邮箱和手机立即绑定

寻找一种优雅的方式来解析整数

寻找一种优雅的方式来解析整数

Go
呼如林 2021-05-13 14:13:42
现在,我正在执行以下操作,以便从字符串中解析整数,然后将其转换为inttype:tmpValue, _ := strconv.ParseInt(str, 10, 64) //returns int64finalValue = int(tmpValue)这很冗长,而且绝对不是很漂亮,因为我还没有找到在ParseInt调用中进行转换的方法。有没有更好的方法可以做到这一点?
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

该函数似乎可以满足strconv.Atoi您的要求,只是它的工作与位大小无关int(您的代码似乎假定它为64位宽)。


查看完整回答
反对 回复 2021-05-24
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

如果您必须在程序中编写一次,那么我认为没有问题。如果需要在多个地方,可以编写一个简单的专业化包装器,例如:


func parseInt(s string) (int, error) {

        i, err := strconv.ParseInt(str, 10, 32)  // or 64 on 64bit tip

        return int(i), err

}

标准库并非旨在为每种可能的数字类型和/或其组合提供(膨胀的)API。


查看完整回答
反对 回复 2021-05-24
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

不要忘记检查错误。例如,


package main


import (

    "fmt"

    "strconv"

)


func main() {

    s := "123"

    i, err := strconv.Atoi(s)

    if err != nil {

        fmt.Println(err)

        return

    }

    fmt.Println(i)

}

输出:


123


查看完整回答
反对 回复 2021-05-24
  • 3 回答
  • 0 关注
  • 242 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信