GO语言工程实践课后作业| 青训营

64 阅读2分钟

第一次课程作业(作业1)

作业内容

  1. 修改第一个例子猜谜游戏里面的最终代码,使用fmt.Scanf来简化代码实现
  2. 修改第二个例子命令行词典里面的最终代码,增加另一种翻译引擎的支持
  3. 在上一步骤的基础上,修改代码实现并行请求两个翻译引擎来提高响应速度

作业1

猜谜游戏:

在这个游戏里面,程序首先会生成一个介于1到100之间的随机整数,然后提示玩家进行猜测。玩家每次输入一个数字,程序会告诉玩家这个猜测的值是高于还是低于那个秘密的随机数,并且让玩家再次猜测。如果猜对了,就告诉玩家胜利并且退出程序。

实现猜谜游戏的关键点有三点:

  1. 生成一个随机整数;
  2. 获取用户输入;
  3. 判断用户输入与随机整数的大小

作业内容

作业1主要考察使用fmt.Scanf()简化获取用户输入的过程。

fmt.Scanf() 是 Go 语言标准库中的一个函数,用于从标准输入读取数据并进行格式化处理。使用与 C 语言中的 scanf() 相似的格式化字符串来指定要读取的数据的类型和格式。

fmt.Scanf() 返回两个值:读取的参数数量 n 和可能出现的错误 err

个人实践

首先声明一个整数变量guess来存储用户输入的数字,%d\n格式化指示符指定读取的值为整数类型,并且匹配换行符。

//关键代码
var guess int
fmt.Println("Please input your guess")
_, err := fmt.Scanf("%d\n", &guess)
if err != nil {
        fmt.Println("Invalid input. Please enter an integer value")
        continue
}
fmt.Println("You guess is", guess)

最终效果

image.png