Go语言快速上手|青训营笔记

109 阅读2分钟

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

第一次学习Go语言,发现它和c语言相比学起来更容易,同时有了c语言的学习基础,学Go基本上马上就能搞懂。

首先是变量的定义

var a int
b := a

接下来是数组的定义

var a = [5]int{1, 2, 3, 4, 5}
b := [5]int{1, 2, 3, 4, 5}

由于数组的长度是固定的,Go中还有切片用来动态分配内存

var a = make([]int, 5)

接下来是for语句和if语句,相较于c语言最大的区别就是把括号省去了,其他基本上也没有太大的区别。

另外还有switch、time、math等用法也就不叙述了,基本上网上一搜就能学会。

接下来是项目上手。

  • 第一个项目,猜字谜

就是一个死循环里进行输入输出,并判断两个数的大小。在随机数的设置上,需要更新rand.seed来使随机数不同。输入方面可以用fmt.Scanf来代替bufio.NewReader。不过如果是用的前者,要在读入数字之后再读入一个换行符;如果是后者,windows系统需要在字符串处理时多除去一个'\r'。

  • 第二个项目,命令行词典

通过浏览器找到翻译软件的接口,然后通过oktools和curlconverter两个网站生成代码块,然后就是对一些结构体的处理以及json序列化操作。实现另一个搜索引擎的方法基本类似,难点在于不同的翻译软件接口不同,需要稍作修改。作业中要求并行两个程序,就用sync.WaitGroup来实现。

  • 第三个项目,代理服务器

这一块对于还没有学过计网的我来说着实有点难度,勉强听下来了,具体实现就用git上的现成代码了。