Go言語(GoLang)で、コーディングしていた時のメモです。
文字に数字が存在してる場合、
bool true/falseを返すメソッドを書きました。
package main
import (
"fmt"
)
// NumCheck ... Check the argument(string) to determine if it is a number.
func NumCheck(str string) bool {
for _, r := range str {
if '0' <= r && r <= '9' {
return true
}
}
return false
}
func main() {
// true. It is a Number.
fmt.Println(NumCheck("0"))
fmt.Println(NumCheck("1"))
fmt.Println(NumCheck("2"))
fmt.Println(NumCheck("3"))
fmt.Println(NumCheck("4"))
fmt.Println(NumCheck("5"))
fmt.Println(NumCheck("6"))
fmt.Println(NumCheck("7"))
fmt.Println(NumCheck("8"))
fmt.Println(NumCheck("9"))
//false, It is not a Number.
fmt.Println(NumCheck("a"))
fmt.Println(NumCheck("b"))
fmt.Println(NumCheck("c"))
fmt.Println(NumCheck("A"))
fmt.Println(NumCheck("B"))
fmt.Println(NumCheck("C"))
fmt.Println(NumCheck("あ"))
fmt.Println(NumCheck("い"))
fmt.Println(NumCheck("う"))
fmt.Println(NumCheck("+"))
fmt.Println(NumCheck("-"))
fmt.Println(NumCheck("\\"))
}
正規表現とかで判別するとかありますが、
素直に、1文字づつループで確認した方が手っ取り早そうです。
〇参考:公式:effective go