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

现在,我正在执行以下操作,以便从字符串中解析整数,然后将其转换为inttype:


tmpValue, _ := strconv.ParseInt(str, 10, 64) //returns int64

finalValue = int(tmpValue)

这很冗长,而且绝对不是很漂亮,因为我还没有找到在ParseInt调用中进行转换的方法。有没有更好的方法可以做到这一点?


呼如林
浏览 243回答 3
3回答

眼眸繁星

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

红糖糍粑

如果您必须在程序中编写一次,那么我认为没有问题。如果需要在多个地方,可以编写一个简单的专业化包装器,例如:func parseInt(s string) (int, error) {        i, err := strconv.ParseInt(str, 10, 32)  // or 64 on 64bit tip        return int(i), err}标准库并非旨在为每种可能的数字类型和/或其组合提供(膨胀的)API。

ABOUTYOU

不要忘记检查错误。例如,package mainimport (    "fmt"    "strconv")func main() {    s := "123"    i, err := strconv.Atoi(s)    if err != nil {        fmt.Println(err)        return    }    fmt.Println(i)}输出:123
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go