Go语言基础笔记 | 青训营笔记

73 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第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值。

作业的话我用的是火山翻译,因为百度翻译和有道翻译的格式不知道如何调试,和彩云的不一样。 火山选择的如下。

image.png

并发实现的话使用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…

对初学者很友好的一个网站,部分有配套的视频讲解