Golang 检查符文是否为十进制数字
在Golang中,我们可以使用unicode包中的函数来检查符文是否为十进制数字。具体来说,unicode包中的IsDigit函数可以判断一个符文是否是十进制数字,返回值为bool类型。
示例代码:
package main
import (
"fmt"
"unicode"
)
func main() {
var r rune = '1'
fmt.Printf("Is %c digit? %t\n", r, unicode.IsDigit(r))
r = 'a'
fmt.Printf("Is %c digit? %t\n", r, unicode.IsDigit(r))
}
输出结果:
Is 1 digit? true
Is a digit? false
在上面的示例代码中,我们定义了一个rune类型的变量r,并将其赋值为字符1和字符a。然后,我们使用unicode包中的IsDigit函数分别判断了这两个字符是否为十进制数字。可以看出,字符1是十进制数字,字符a不是十进制数字。
除了使用unicode包中的IsDigit函数以外,我们还可以使用strconv包中的函数将字符串解析为数字,并判断字符串中的字符是否为十进制数字。
示例代码:
package main
import (
"fmt"
"strconv"
)
func main() {
str := "123+abc"
for _, r := range str {
if _, err := strconv.Atoi(string(r)); err != nil {
fmt.Printf("%c is not a digit\n", r)
} else {
fmt.Printf("%c is a digit\n", r)
}
}
}
输出结果:
1 is a digit
2 is a digit
3 is a digit
+ is not a digit
a is not a digit
b is not a digit
c is not a digit
在上面的示例代码中,我们定义了一个字符串str,并使用range关键字遍历字符串中的每个字符。然后,我们使用strconv包中的Atoi函数将字符转换为数字,并判断字符是否为十进制数字。如果字符不是十进制数字,则输出不是数字的提示信息。
结论
通过使用unicode包和strconv包中的函数,我们可以轻松判断符文和字符串是否为十进制数字。在实际项目中,我们可以根据需求选择合适的函数进行使用。
极客笔记