可以使用strconv包提供的函数来检查一个字符串是否为数字。
有两个函数可以使用:
-
strconv.Atoi()函数:将字符串转换为整数并返回。如果字符串不是有效的数字,则返回一个错误。
-
strconv.ParseFloat()函数:将字符串转换为一个浮点数并返回。如果字符串不是有效的数字,则返回一个错误。
以下是一个示例代码,以检查给定字符串是否为数字:
package main
import (
"fmt"
"strconv"
)
func main() {
str := "123"
if _, err := strconv.Atoi(str); err == nil { // 使用Atoi函数
fmt.Printf("%s is a number\n", str)
} else {
fmt.Printf("%s is not a number\n", str)
}
str = "123.45"
if _, err := strconv.ParseFloat(str, 64); err == nil { // 使用ParseFloat函数
fmt.Printf("%s is a number\n", str)
} else {
fmt.Printf("%s is not a number\n", str)
}
}
输出结果为:
123 is a number
123.45 is a number