一、Golang基础语法
(一)函数
Go语言的函数与其他语言的函数大体相同,只有少数几处有所区别,如Go语言可以有多个返回值,如第一个是正确的返回值而第二个是返回错误信息。
func exists(m map[string]string,k string) ( v string,ok bool) { v,ok = m[k] return v, ok }
以上代码便是一个简单的赋值操作,而布尔变量ok便是判断这一操作是否执行成功。
(二)指针
个人认为Golang中的指针与C++中的指针类似,在使用上有许多共通之处,可以借助C++中的指针来理解它。
(三)结构体
正如老师课上所说的,结构体就是带类型的字段的集合。在结构体中,既可以定义类型和它的变量,也可以定义构造方法。
(四)错误处理
错误处理在go语言里面符合语言习惯的做法就是使用一个单独的返回值来传递错误信息。go语言的处理方式,能够很清晰地知道哪个函数返回了错误,并且能用简单的if else来处理错误。
二、实战
本次课程提供了三个实战案例,包括猜字游戏、在线词典、SOCKS5代理。
(一)猜字游戏
猜字游戏是一个十分基础的游戏,这个实战运用了许多基础语法和简单的随机数,其代码难度不高,十分适合像我这种初次尝试Golang的人进行实操。
(二)在线词典
该实战不仅需要代码基础,还需要一些抓包技巧,是进阶的实战演练。
(三)SOCKS5代理
SOCKS5代理是所有实验中最为庞大的项目,值得我反复去听课理解。
三、总结
本文介绍了第一节课的剩余部分,本次课选择的实战项目层层递进,十分契合我们的学习路线,且能够丰富我们的进阶知识,个人认为吃透这三个实战是十分有必要的。