这是我的第2篇笔记
小程序
猜数字
reader := bufio.NewReader(os.Stdin)
获取os.Stdin的bufio,是终端输入
reader.ReadString(byte)以某个byte或者字符结束输入
strings.TrimSuffix(input, "\r\n")去掉换行符,,windows是\r\n
strconv.Atoi(input)转为数字
\
命令行查单词
主要步骤
- 写好网站的请求和JSON对应的Go结构体
client := &http.Client{}设置客户端buf, err := json.Marshal(request)编码请求体,返回一个能接收这个请求的[]bytevar data = bytes.NewReader(buf)返回一个输入流,把输入存在buf里req, err := http.NewRequest(method, url, data)生成一个请求req.Header.Set()设置一系列的头resp, err := client.Do(req)发生请求,并接收响应,如果有err,则中断defer resp.Body.Close()拿到响应后第一时间用defer函数关源bodyText, err := ioutil.ReadAll(resp.Body)使用ioutil来输入[]byteresp.StatusCode != 200是200就不要了err = json.Unmarshal(bodyText, &dictResponse)解码JSON,把bodyText的JSON数据写入JSON对应的Go结构体- 解码成功就可以按照JSON的字段输出自己想要的东西,如输出英标和单词意思
fmt.Println(word, "UK:", dictResponse.Dictionary.Prons.En, "US:", dictResponse.Dictionary.Prons.EnUs)
for _, item := range dictResponse.Dictionary.Explanations {
fmt.Println(item)
}
\
\
请求和响应代码生成
在做一个翻译后,点开network,查看dict为post的,右键它copy
再去这个网站自动生成请求代码
选择语言复制代码
\
转化JSON为结构体
复制浏览器的JSON,复制全部,----去firfox比较好,其他失败了,不知道为什么
自己写一个请求结构体
把这个post的dict的响应复制下来
去这这个网站JSON转为为go的结构体
自己写的dict
请求变化的js
salt是newtime
sign是md5('new-fanyiweb' +nowTime() + 'ydsecret://newfanyiweb.doctran/sign/0j9n2{3mLSN-$Lg]K4o0N2}' + "./utils")
\