初见Go | 青训营笔记

72 阅读2分钟

走进 Go 语言

课程介绍了go语言的发展历史以及特点,例如go会自动回收动态分配的内存的常用语法和数据结构的声明以及使用方法。

语法

  • 变量声明:x:=12和语句var x int ,x=12都可以用来声明变量
  • for和if:go和其他语言不同,for,if后的判定条件无需加括号,如果加了,编译器会自动去掉
  • switch:与c++不同,switch语句中case自带break,执行完一个case中的语句就会跳出循环
  • range:一般range有两个参数,前者为数据,后者为索引

特点

  • 格式化输出:“%v”可以自动匹配格式输出,“%+v”则可以打印数据的类型信息。
  • 包的引入:和其他语言不同,go要求我们引入的包与函数执行所需用的包一一对应,不能多也不能少,否则会报错。我觉得是一个很好的设计,不会出现引入很多的包用的很少的情况。
  • go语言的函数要在同一行跟“{”

实战案例

课程给出了三个难度递增的实战案例:猜数字,命令行词典以及socks5代理。我在课程中学到的不仅有他们的实现原理和过程,还有对错误信息的反馈。go函数可以有多个返回值,一般都会有一个错误信息的返回,这样我们在排查问题的时候就容易了解到是哪一部分出了问题。

猜数字实现原理不是很难,主要是熟悉一下相关的语法,命令行词典则是介绍了如何利用go来发送http请求,并且从中读取有效信息,socks5代理介绍了写一个代理服务器过程。

总结

课程干货满满,稍微走神就得重新听,实战案例和理论结合,加深了对语法,以及标准库的一些常用函数的理解。