0
我想让代码循环,如果输入的数字低于600,并且如果输入包含字母和符号则循环。我无法做到。转到 - 区分用户输入的数字和其他一切
package main
import (
"fmt"
"strconv"
)
func main() {
fmt.Println("How far in metres are the people away from the spacecraft?")
var people string
fmt.Scanf("%s",&people)
number, _ := strconv.Atoi(people)
for number < 600 {
if (number < 0 || number > 0 || people == "0"){
fmt.Println("Too Close\nTry Again")
var people string
fmt.Scanf("%s",&people)
number, _ := strconv.Atoi(people)
fmt.Println(number)
}else{
fmt.Println("Only Number Please\nTry Again")
var people string
fmt.Scanf("%s",&people)
number, _ := strconv.Atoi(people)
fmt.Println(number)
}
}
fmt.Println("BLAST OFF !!!")
}
ATOI返回两个值。第二个,你忽略了,是一个错误。你应该检查这个错误是不是零,在这种情况下,它可能不是一个数字。 – eugenioy
eugenioy是正确的。一些其他语言有例外,如果您不处理它们,程序将停止工作。你需要确保你处理从Go中的函数/方法返回的错误,否则你的程序不会以你能理解的方式行事。 –