本节课有三个实战代码:
1.猜字谜游戏
本题挺简单的,算是个很简单的模拟题吧,没什么算法。掌握Go的输入输出、条件判断以及循环和break就可以了。对了,还有随机数生成方式。
2.在线词典介绍
本题需要用到Go语言来调用第三方api来对单词翻译。第三方翻译:彩云翻译:fanyi.caiyunapp.com,需要用到浏览器的开发者工具。 主要分成两步:
2.1 网址代码转化(Go)
(1)利用开发者工具(检查),查看一下如果点击了一下翻译会发送什么样的请求:
(2)利用工具生成Go代码 在dict上右键 -> 复制 -> 复制为cURL(bash),然后在终端中粘贴一下,会返回JSON。将cURL赋值到:curlconverter.com/#go
运行了一下,输出结果:
接下来需要设置输入(var data),把它变成一个变量输入。
创建结构体,其中包含了JSON的处理方式:
TransType string
json:"trans_type" // 解析是使用trans_type
(3)将翻译后生成的response body解析 经过翻译之后的response body很复杂,js/python中,这个response body会被认为成一个map或者dict类型的数据,可以key取值,go语言中不可以。 在go中可以写一个结构体,将JSON结构反序列化到结构体中。 利用:oktools.net/json2go
将上图生成的结构体复制到代码中,然后利用json包,反序列化到这个结构体中:
运行一下的话,跟之前一样,但是构成结构体后,我们就可以选择要输出的内容了:
然后再做一个输入,将翻译的内容作为Word传入到翻译的函数中:
这样就可以运行了:
2.2 JSON格式化
总结:这个题感觉用到了好多现在有代码生成工具,一个是翻译网址转成Go程序,一个是JSON转成Go的结构体,然后就把需要输出的信息选出来就行了。之前从来没在C++体验过这种编程方式。
3.SOCKS5 代理协议
这个太难了,有时间再去弄吧。