青训营学习记录 | 青训营笔记

103 阅读2分钟

青训营学习记录 | 青训营笔记

这是我参与「第五届青训营 」伴学笔记创作活动的第 1天,开始的开始除了准备学习相关的知识,还要规划好每天的日程。

首先,当然要打好go语言基础啦,今天学习了课程了解了go的基础语言知识与三个案例,第一步首先就是环境的搭建了。本人使用Git+VSCode,VSCode中GitLens是一个不错的插件,可以帮我更方便的管理仓库。

go的基础语法没什么好说的,看就完事。第二课中的三个案例对于初学go的我还是有些挑战。

第一个案例是猜数字,主要是为了熟悉输入输出以及rand的用法,在这里输入使用

reader := bufio.NewReader(os.Stdin) input, err := reader.ReadString('\n')

使用rand生成随机数需要用到math/rand与time,通常使用当前时间作为随机种子来保证每次rand结果不同。

maxNum := 100 rand.Seed(time.Now().UnixNano()) secretNumber := rand.Intn(maxNum) 第二个案例是在线词典,主要涉及go语言对HTTP协议的操作。 首先是抓包,进入网站f12,在‘网络’中找到http的post请求,就能找到发送和接收到的json信息,通过网站curlconverter.com/oktools.net/ 可以方便我们生成代码,前者可以帮我们将cURL转换为请求代码,后者可以将json转换为结构体。

第三个案例是socket5代理。 什么是socket5代理呢,在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。

了解了原理之后再去看代码就更容易懂了,第三个案例很长,看起来也有些吃力这里就不说了,今天的总结就到这里吧。