我有一个 Go 程序,我只想将一个字符串转换为一个 int。我理解的功能:
val, err := strconv.Atoi(myValueAsAString)
有效,我可以通过以下方式检查错误:
if err != nil {
//handle error
}
但是如果我 100% 字符串将是一个数字,我想在 if 语句中将它转换为一个 int,如下所示:
if 45 + strconv.Atoi(value) >= 90 {
//do something
}
但是 strconv.Atoi 也返回一个错误值,所以我怎样才能把它扔掉并基本上执行我上面所做的,而不必在 if 语句上方定义变量并在 if 语句中使用它。我不确定这是否可能,但我很想知道。
最佳答案
- 创建一个丢弃错误结果的包装函数:
func atoi(s string) int {
value, _ := strconv.Atoi(s)
return value
}
if 45 + atoi(value) >= 90 {
//do something
}
- 或者,将转换作为
if
之前的语句进行,并忽略错误结果:
if i, _ := strconv.Atoi(value); 45 + i >= 90 {
// do something
}
关于go - 丢弃字符串到 int 转换的错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57593161/