go语言实战项目(上) | 青训营笔记

68 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天

本课主要内容为三个项目

1.猜数项目

1.1 生成随机数

image.png

以上代码每次的结果都一样

1.2生成随机数修改

以为使用rand需要设置随机数种子,不然每次生成的结果都一样,一般用时间戳来初始化随机数种子

package main
import
"fmt"
"math/rand"
func main(){
maxNum 100
secretNumber rand.Intn(maxNum)
fmt.Println("The secret number is "secretNumber)
}

image.png

1.3增加用户输入

image.png

1.4增加逻辑判断

image.png

guess,err :strconv.Atoi(input)
if err !nil
fmt.Println("Invalid input.Please enter an integer value")
return
}
fmt.Println("You guess is",guess)
if guess secretNumber
wangkechun,2 weeks ago Feat/next (#1)
fmt.Println("Your guess is bigger than the secret number.Please try again")
else if guess secretNumber
fmt.Println("Your guess is smaller than the secret number.Please try again")
else
fmt.Println("Correct,you Legend!")

1.5实现游戏循环

image.png

2.在线词典

2.1效果

image.png 原理是调用第三方的api,用go语言发送请求,解析json

2.2使用的api并抓包

image.png

查看请求包

image.png

2.3生成代码

copy请求的json

image.png 打开代码生成网站,输入curl请求,可以自动生成对应的go语言代码

image.png

由于header比较复杂,生成代码以后会产生几个由于转义造成的错误,复制到编辑器后直接删除即可

代码详解如下

image.png

读取流中的数据那里是把流中的数据存进内存

运行结果

image.png

2.4生成request body

回顾之前的基础知识