如何在围棋中判断字符串值是否为整数?

像这样的东西

v := "4"
if isInt(v) {
  fmt.Println("We have an int, we can safely cast this with strconv")
}

注意:我知道strconv.Atoi会返回错误,但是有没有其他函数可以做到这一点呢?

strconv.Atoi的问题是它将返回"a7"7

推荐答案

就像你说的,你可以用strcom.Atoi来做这件事.

if _, err := strconv.Atoi(v); err == nil {
    fmt.Printf("%q looks like a number.\n", v)
}

您可以在模式ScanInts中使用scanner.Scanner(从text/scanner开始),也可以使用regexp来验证字符串,但是Atoi是适合这项工作的工具.

Go相关问答推荐

Golang读写更接近于io.File

在字符串与字符串子切片上使用len进行位转移产生意外输出

Makefile:现有文件上没有这样的文件或目录,不加载环境变量

golang 的条件储存库

Kafka架构注册表-Broker:Broker无法验证记录

如何用';贪婪原则';正确地

格式化 Azure SDK 的 golang 时间

如何为循环扫描的bufio scanner 设置超时?

如何创建在responseWriter.Write 上返回错误的http.ResponseWriter 模拟实例?

如何在golang中使用viper获取对象的配置数组?

下载和合并时输出文件已损坏

如何在 Golang 中打印 2 列表?

如何在切片增长时自动将切片的新元素添加到函数参数

在恒等函数中将类型 T 转换为类型 U

出于某种原因,Golang (Go) AES CBC 密文被填充了 16 个 0x00 字节

gqlgen go,通过添加一个解析器来减少数据库调用

防止在 Go 公用文件夹中列出目录

无法识别同步错误.使用一次

为什么 template.ParseFiles() 没有检测到这个错误?

Go 泛型是否与 LINQ to Objects 等效?