这是我参与「第三届青训营 -后端场」笔记创作活动的第2篇笔记
一、项目介绍
用户可以在命令行中查询单词,运行go程序并且传入你要查询的单词,程序就会输出该单词的中文解释和音标等信息
示例:
二、具体流程
- 抓取HTTP Request
-
进入在线翻译网站,以火山翻译(translate.volcengine.com)为例,打开浏览器开发者工具
-
点击翻译按钮,从开发者工具的“Network”中寻找本次单词查询的请求(借助“Preview”可以查看请求响应的相关情况),如图
-
通过curl生成请求代码
因为我们需要在Go程序中模拟这个请求,但是代码实现比较复杂,可以借助在线工具完成。
右键请求,选择“Copy as cURL (bash)”,然后通过转换工具,生成请求代码
结果类似下图:
-
现在我们的请求输入是固定的,也就是说,要想做到翻译用户输入的任意单词,就要新增一个变量来接收控制台的输入
此处新建了一个request结构体
-
生成对应结构体,用来接收Response
同样地,我们可以借助转换工具将JSON转换成Go结构体
结果类似下图:
-
之后,我们可以先定义一个Response结构体对象,然后进行反序列化;最后从相应报文中提取出有用的信息打印出来就OK了
三、扩展
成功实现了上述功能后,可以类似地添加其他翻译引擎,使你的翻译程序输出结果更加丰富
Ref:字节跳动青训营 - Go语言上手-基础语法