Go语言实战项目之在线词典|青训营笔记

243 阅读1分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第2篇笔记

一、项目介绍

用户可以在命令行中查询单词,运行go程序并且传入你要查询的单词,程序就会输出该单词的中文解释和音标等信息

示例: 示例.PNG

二、具体流程

  1. 抓取HTTP Request
  • 进入在线翻译网站,以火山翻译(translate.volcengine.com)为例,打开浏览器开发者工具

  • 点击翻译按钮,从开发者工具的“Network”中寻找本次单词查询的请求(借助“Preview”可以查看请求响应的相关情况),如图

    step2.PNG

  • 通过curl生成请求代码

    因为我们需要在Go程序中模拟这个请求,但是代码实现比较复杂,可以借助在线工具完成。

    右键请求,选择“Copy as cURL (bash)”,然后通过转换工具,生成请求代码

    结果类似下图: step3.PNG

  • 现在我们的请求输入是固定的,也就是说,要想做到翻译用户输入的任意单词,就要新增一个变量来接收控制台的输入

    step4.png 此处新建了一个request结构体

    step5.png

  • 生成对应结构体,用来接收Response

    同样地,我们可以借助转换工具将JSON转换成Go结构体

    结果类似下图: step6.png

  • 之后,我们可以先定义一个Response结构体对象,然后进行反序列化;最后从相应报文中提取出有用的信息打印出来就OK了 step5.png

三、扩展

成功实现了上述功能后,可以类似地添加其他翻译引擎,使你的翻译程序输出结果更加丰富


Ref:字节跳动青训营 - Go语言上手-基础语法