go - 丢弃字符串到 int 转换的错误值

标签 go type-conversion

我有一个 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 语句中使用它。我不确定这是否可能,但我很想知道。

最佳答案

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

关于go - 丢弃字符串到 int 转换的错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57593161/

相关文章:

javascript - Coffeescript parseInt 快捷方式?

c# - Convert.ToInt32(String) on String.Empty 与 Null

go - 如何在不使用 time.Sleep 的情况下等待所有 goroutines 完成?

flutter - 类型 '_InternalLinkedHashMap<String, dynamic>' 不是类型转换中类型 'Map<String, String>' 的子类型

java - 如何设置Json schema的类型?

rust - Rust 支持哪些隐式数字转换?

sockets - 如何在 Go 中停止监听服务器

go - 如何使用golang通过postman快速获取表单数据?

json - 无法将 float32 值解码为字符串

sql - 是否可以从 sql.Rows 获取 SQL 查询字符串?