Go语言基础与项目实战 | 青训营笔记

103 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。

Go语言特点

Go语言具有高性能高并发的主要优点,语法简单便于上手。并且Go拥有丰富的标准库和完善的工具链。Go同时还有着极快的编译速度。最后Go对跨平台的兼容性非常优秀,并且有着高效的垃圾回收机制。

Go语言入门

基础语法

Go语言语法整体不难,多数的语法同主流的C++,JAVA等并没有本质的区别。但从变量声明的四种方法中就能看出,Go对于语言的简化做的很到位。在绝大多数情况下,使用者都能用:=符号来做到不声明变量类型,而是让其自动匹配。同时,Go还对一些C++等编程过程中存在模糊的内容做了规定,比如对

func main(){
}

争议已久的大括号是否应该换行在Go中有了官方答案,所有结构体代码块等等的大括号以及其余符号都有了唯一的格式要求。这一改动极大的提升了代码的可读性和一些由于风格造成的不必要的困扰。 其余的语法过于基础就不在这里过多的赘述。

实战

实战课程中,总共提供给我们三个项目。

猜谜游戏

这个实战项目并不复杂,但是我学到了很多新的库的使用方式,也复习了一些基础语法的使用。在开始自己写的过程中,始终卡在将数字字符串传化为数字时,得到的结果总为0,后续看完课程才意识到问题在于抓取到的字符串包括了行尾的\n,使用strings.Trim去除行尾\n后成功完成功能。

在线词典

这项功能也较为简单,首先是了解到了两个十分有用的在线工具网站:
Convert curl commands to Go (curlconverter.com)
JSON转Golang Struct - 在线工具 - OKTools
前者能将网页中复制来的请求转化成可以使用的Go代码,极大的简化了一些请求制作的难度。
后者则能将json格式的字符串转化为Go语言中的结构体,减少了出错的可能。

SOCKS5代理

这部分内容我并未在之前接触过,所以现在还在学习阶段,只能先留白,等完全理解后再于下次的笔记中说明XD。