这是我参与「第三届青训营 -后端场」笔记创作活动的第1篇笔记
go语言基础总结
基本语法
基本数据类型
Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。
切片与数组
切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。
数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。
在go语言里,一般使用切片比较多。
猜数字游戏
要注意添加随机数的种子,添加时间戳rand.Seed(time.Now().UnixNano())。
作业题把输入改成
var guess int
fmt.Scanln(&guess)
即可
简单字典
1.首先先去彩云翻译fanyi.caiyunapp.com/#/ ,点击F12,然后在翻译界面输入英文单词点击翻译,然后在network里找到dict,复制cURL后到curlconverter.com/#go 生成相对应的go代码。
2.写一个DictRequest结构体,把要传输的翻译类型和单词序列化成json字符串。
3.把接收到的json字符串反序列化成结构体,结构体的生成网址为oktools.net/json2go 然后用for循环输出对应的音标和dictResponse.Dictionary.Explanations里面的所有value值。
作业的话我用的是火山翻译,因为百度翻译和有道翻译的格式不知道如何调试,和彩云的不一样。 火山选择的如下。
并发实现的话使用go routine就可以了。
首先创建
var wg sync.WaitGroup
在两个query函数里最后分别加上
wg.Done()
然后在主函数
wg.Add(2)
go query(word)
go query2(word2)
wg.Wait()
学习网址分享:
www.liwenzhou.com/posts/Go/go…
对初学者很友好的一个网站,部分有配套的视频讲解