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

如何简化此菜单

如何简化此菜单

Go
一只萌萌小番薯 2022-10-04 16:49:00
所以我正在开始一个我想做一段时间的项目,我要做的第一件事就是打印一个菜单,我想知道是否有更好/更好的方法来编码这段代码。为了“美化”它,我称之为我正在考虑做这样的事情fmt.Println("You have chosen option " + input)但是我必须为选择的每个选项调用不同的命名函数,所以我不确定如何使它工作func main() {    fmt.Println("Hello welcome")    var input int    fmt.Println("Please choose an option:")    fmt.Scanln(&input)    if input == 1 {        fmt.Println("Option 1 chosen")    } else if input == 2 {        fmt.Println("Option 2 chosen")    } else if input == 3 {        fmt.Println("Option 3 chosen")    } else if input == 4 {        fmt.Println("Option 4 chosen")    } else if input == 5 {        fmt.Println("Option 5 chosen")    } else if input == 6 {        fmt.Println("Option 6 chosen")    } else if input == 7 {        fmt.Println("Option 7 chosen")    } else if input == 8 {        fmt.Println("Option 8 chosen")    } else if input == 9 {        fmt.Println("Option 9 chosen")    } else if input == 10 {        fmt.Println("Option 10 chosen")    } else {        fmt.Print("Not an option")    }}
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

我建议制作一个函数的选项编号映射,如下所示:


func func1() {

    fmt.Print("Option 1 Chosen")

}


func func2() {

    fmt.Print("Option 2 Chosen")

}


func main() {

    funcs := map[int]func() {

        1: func1,

        2: func2,

    }

    fmt.Println("Hello welcome")

    var input int

    fmt.Println("Please choose an option:")

    fmt.Scanln(&input)

    f, ok := funcs[input]

    if !ok {

        fmt.Print("Not an option")

    } else {

        f()

    }

}


查看完整回答
反对 回复 2022-10-04
  • 1 回答
  • 0 关注
  • 53 浏览
慕课专栏
更多

添加回答

举报

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