【发布时间】:2021-08-26 04:28:18
【问题描述】:
我是 GoLang 的新手,我遇到的问题是,如果我输入多个字母作为输入,结果会打印多次。
用户需要输入一个非 0 且非字母的数字。 如果您键入一个字母,变量“num1”将为“0”(通过打印变量进行检查)
如果用户输入“0”或字母,他将再次尝试输入数字。
示例: 如果我键入“d”,它将按原样打印一次。 如果我输入“dd”,它将打印两次。 如果我输入“ddd”,它将打印三遍。 但是,如果我输入“0”或“00”,它将只打印一次。
我怎样才能做到这样,如果我输入多个字母,结果总是会打印一次?
代码:
package main
import "fmt"
func main() {
var num1 float64
for {
fmt.Print("\nFirst Number: ")
fmt.Scanln(&num1)
if num1 == 0 {
fmt.Print("Invalid input for 'First Number'")
} else {
break
}
}
fmt.Print("passed")
}
PS:如果可能,变量 num1 应保持为 'float64'
感谢您的帮助^^
【问题讨论】:
-
刚开始,你应该注意
fmt.Scanln返回的错误值。
标签: loops go printing numbers var