将字符串的错误值丢掉进行int转换

Jac*_*ack -1 type-conversion go

我有一个Go程序,我只是想将字符串转换为int。我了解功能:

val, err := strconv.Atoi(myValueAsAString)
Run Code Online (Sandbox Code Playgroud)

可以,我可以通过以下检查错误:

if err != nil {
    //handle error
}
Run Code Online (Sandbox Code Playgroud)

但是如果我是100%,该字符串将是一个数字,我想在if语句中将其转换为int,如下所示:

if 45 + strconv.Atoi(value) >= 90 {
    //do something
}
Run Code Online (Sandbox Code Playgroud)

但是strconv.Atoi也同样会返回一个错误值,因此我该如何抛弃它并基本上执行我在上面所做的事情,而不必在if语句上方定义变量并将其在if语句中使用。我不确定这是否可行,但我很想知道。

Tim*_*per 5

  1. 创建一个放弃错误结果的包装器函数:
func atoi(s string) int {
    value, _ := strconv.Atoi(s)
    return value
}
Run Code Online (Sandbox Code Playgroud)
if 45 + atoi(value) >= 90 {
    //do something
}
Run Code Online (Sandbox Code Playgroud)
  1. 或者,将转换作为语句之前的语句进行,if并忽略错误结果:
if i, _ := strconv.Atoi(value); 45 + i >= 90 {
    // do something
}
Run Code Online (Sandbox Code Playgroud)