为了账号安全,请及时绑定邮箱和手机立即绑定

如何比较 Int Var 与结构的内容

如何比较 Int Var 与结构的内容

Go
人到中年有点甜 2023-05-15 15:10:04
使用 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

}


查看完整回答
反对 回复 2023-05-15
  • 1 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信