0
入力された数字が600より小さい場合はループし、文字と記号が入力されている場合はループします。私はそれをすることができません。Go - ちょうど数字と他のすべてのユーザー入力を区別する
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 !!!")
}
税引後営業利益は、2つの値を返します。もう1つは、あなたが無視しているエラーです。そのエラーがnilでないかどうかを確認してください。その場合は、おそらく数字ではありませんでした。 – eugenioy
eugenioyは正しいです。いくつかの他の言語では、プログラムを処理しないとプログラムが動作しなくなる例外があります。 Goで関数/メソッドから返されたエラーを確実に処理する必要があります。そうしないと、プログラムは理解できる方法で動作しません。 –