gpt4 book ai didi

input - Golang - 检查参数数量?还有用户输入 - 检查返回键(空行)条目 ""

转载 作者:IT王子 更新时间:2023-10-29 01:13:54 24 4
gpt4 key购买 nike

两个问题。

1...我正在编写一个小游戏,需要用户在命令行上提供一个参数。命令行条目看起来像“go run game.go 8”。 os.Args[0] 是程序运行(game.go),os.Args[1] 是输入的整数(本例中为 8)。我写了

s := os.Args[1]
maxLetters, err := strconv.Atoi(s)
if err != nil {
// handle error
fmt.Println(err)
os.Exit(2)
}

它接受字符串“8”,将其转换为整数,并允许我将其设置为游戏中的最大数字。但是,他们可以选择不输入数字。在这种情况下,最大数量在我的程序中默认为 7。我的问题是,如果 os.Args[1] 存在与否,我该如何检查 golang?如果存在,则将 max 设置为用户的号码。如果不存在,则设置 max = 7。

2...在游戏过程中,需要有用户输入。 “?”标记帮助,“(不正确的猜测词)”条目让他们再试一次,“(正确的猜测词)”条目给他们下一个问题,只需按回车键(空白行)退出游戏。我用

var answer string
fmt.Scanf("%s", &answer)

获取他们的条目。问题是无法识别“”条目或空行条目。按回车键不会改变 answer 的值,因此 answer 保持不变。 , 并且游戏继续以他们之前的条目作为答案值。显然这是一个大问题,答案值需要在按下返回键时更改为“”或某种类型。

有什么建议吗?感谢您的帮助。

最佳答案

  1. 因为你只有一个可能的选择,你可以简单地检查 len(os.Args) - 如果是 < 2 , 使用您的默认选项。对于更复杂的情况,请查看 flag 包。

  2. fmt.Scanf返回扫描项目的数量,所以检查这个。如果为 0,则将答案设置为空字符串。

关于input - Golang - 检查参数数量?还有用户输入 - 检查返回键(空行)条目 "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18973335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com