我是 Go 新手。
目前,我正在 Go 中创建一个菜单,我想验证用户输入的数据类型是否与代码中定义的变量的数据类型相匹配。到目前为止,我的部分代码如下所示:
package main
import (
"fmt"
"reflect"
)
var option int // The variable is declared outside of the main().
func general_menu() {
fmt.Println(".......................General Menu..................................")
fmt.Println()
fmt.Println("Calculator..........................................................1")
fmt.Println("Linear algebra package..............................................2")
fmt.Println("Language change.....................................................9")
fmt.Println("Exit...............................................................10")
fmt.Println()
fmt.Println("Choose an option from the menu.")
fmt.Println()
fmt.Scan(&option)
fmt.Println()
if (option != 1 && option != 2 && option != 9 && option != 10)||reflect.TypeOf(option)!=int{
fmt.Println("Wrong option input. Please, try again.")
fmt.Println()
general_menu()
}
}
我知道这不起作用,而且我知道“int”不能用作“if”条件的一部分。
对于解决此问题的正确方法的任何建议,我将不胜感激。
谢谢。
编辑:根据贡献者的建议,我添加了更多代码。
编辑:根据提供的答案,我尝试实现一个函数,但语法仍然不正确:
func check_integers_are_not_string(x int) bool {
change := strconv.Itoa(x)
if change != nil {
return true
} else {
return false
}
} // This function returns a true boolean value if conversion from int to string was possible, meaning that the entered value is a string.
函数式编程
跃然一笑
相关分类