使用 Go 1.11。得到以下结构,type inputsData struct { TurnOne int TurnTwo int TurnThree int TurnFour int TurnFive int TurnSix int TurnSeven int TurnEight int TurnNine int}其中包含来自用户输入的数据。没关系,但我想检查TurnTwo用户输入的内容是否已经输入?例子, Input 1 -> 6, Input 2 -> 4,Input 3 -> 6所以会发生什么是一旦用户再次输入 6 转 3,它会记录,抱歉再试一次......所以这就是我检查的方式,func checkInputTwo(userInput int) bool { var ok bool ok = true if userInput == t.TurnOne { ok = false } if userInput == t.TurnTwo { ok = false } if userInput == t.TurnThree { ok = false } if userInput == t.TurnFour { ok = false } if userInput == t.TurnFive { ok = false } if userInput == t.TurnSix { ok = false } if userInput == t.TurnSeven { ok = false } if userInput == t.TurnEight { ok = false } if userInput == t.TurnNine { ok = false } return ok}这就是我加载该功能的方式,func checkStageTwo(input int) int { var ok bool fmt.Println(ok) for ok { ok = checkInputTwo(input) fmt.Println(ok) } fmt.Println(ok) return input}我只是加载该函数并为其提供输入。这是行不通的。它允许输入相同的输入,但一旦匹配,我就会陷入我的 for 循环打印错误?所以基本上我想检查用户输入是什么以及它是否在我的结构的内容之内。我已经加载了 struct 包,因此它可用于所有功能。谢谢。
1 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
我不确定您的具体用例是什么,但纯粹基于显示的代码,这实际上应该是一个切片或数组而不是一个结构。带有编号字段的结构是一种非常不寻常的设计。正如您所发现的,具有编号字段的结构是一种非常不寻常的设计,并且很难使用。如果它是一个切片,你可以简单地遍历它:
func checkInput(userInput int, pastInputs []int) bool {
for _,i := range pastInputs {
if userInput == i {
return flase
}
}
return true
}
- 1 回答
- 0 关注
- 109 浏览
添加回答
举报
0/150
提交
取消