这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
Go语言支持高性能、高并发,其语法简单、学习曲线平缓,拥有丰富的标准库及完善的工具链,支持静态链接,可以快速编译,支持跨平台,拥有类似Java的垃圾回收机制。目前字节跳动已经全面拥抱了go语言,公司内部有上万个微服务使用golang来编写。国内腾讯、百度、美团、滴滴、深信服等公司也在大量使用Go语言。从业务维度看Go语言已经在云计算、微服务、大数据、区块链、物联网等领域蓬勃发展。
猜谜游戏
第一个例子,我们使用Golang来构建一个猜数字游戏,在这个游戏里面,程序首先会生成一个介于1到100之间的随机整数,然后提示玩家进行猜测。玩家每次输入一个数字,程序会告诉玩家这个猜测 的值是高于还是低于那个秘密的随机数,并且让玩家再次猜测。若猜对了,就告诉玩家胜利并退出程序。
- 生成随机数:用到math/rand包,用rand.Intn生成一个随机数,用time.now.unix来初始化随机种子
- 读取用户输入:我们会用bufio.NewReader把一个文件转换成一个reader变量,用它的ReadString方法来读取一行
- 实现判断逻辑
- 实现游戏循环:在用户输入正确的时候break
在线词典
用户可以在命令行里面查询一个单词。我们能通过调用第三方的API查询到单词的翻译并打印出来。
- 抓包:我们要用的结果主要在dictionary.Explanations字段里
- 代码生成:copy as curl。使用string.NewReader来把字符串转换成一个流,接下来调用client.do request,就能得到response。
- 生成request body:在Golang里面,我们需要生成一段JSON,常用的方式是我们先构造出来一个结构体,这个结构体和我们需要生成的JSON结构是一一对应的。
- 解析request body:使用网上的代码生成工具,把json字符串粘贴进去,得到对应结构体。
- 打印结果:用for range循环来迭代它,然后直接打印结构。