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