请问高手,Golang如何去判断字符串是数字还是字符,好像网上没有好的答案。
推荐你用正则表达式,或者ASCII值判断
比如正则的话,判断字符串是否全数字:
import(
"fmt"
"regexp"
)
func main(){
pattern := "\\d+" //反斜杠要转义
str := "124534"
result,_ := regexp.MatchString(pattern,str)
fmt.Println(result)
}
更多评论
func IsSingleDigit(data string) bool { digit := []string{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"} for _, item := range digit { if data == item { return true } } return false }
func IsDigit(data string) bool { for _, item := range data { if IsSingleDigit(string(item)) { continue } else { return false } } return true }
func main() { a := "12345" fmt.Println(IsDigit(a))
}
谢谢楼上二位,实现了。另外和你们分享一下,我自己后来想到的办法,可以判断小数点。
//判断是不是数字
func IsNum(s string) bool { _, err := strconv.ParseFloat(s, 64) return err == nil }
不知道这样写有没有问题?