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

134 阅读2分钟

在字节后端训练营,我学习的第一门课是Go语言基础语法课。因为之前学过Java和C++,所以入门Go相对还是比较容易的。

什么是Go语言?Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。这门语言具有如下特性: 高性能、高并发;语法简单、学习曲线平缓;具有丰富的标准库;具有完善的工具链;支持静态链接;可以做到快速编译;可以跨平台;具有垃圾回收机制。

哪些公司在使用Go呢?目前,字节跳动已经全面拥抱Go语言,在国内的许多一线互联网企业,包括腾讯、美团、百度。滴滴等,以及国外的顶尖科技公司谷歌、Facebook都在大量使用Go。可以看出,这是一门新兴的、充满前景的一门编程语言,在云计算、微服务、区块链等领域也在逐渐占据重要的市场份额。再谈谈字节全面转Go的主要原因。一方面Go比较简单,容易上手;另一方面,它的性能比较好。

然后,我安装了Goland这款IDE。并跑了Go版“Hello World”,正式打开新世界的大门。 image.png

学习了Go的基础语法,总体还是比较简单的。它的变量声明可以用“var + 变量+类型”,也可以用如“a:= 1”这种方式声明与赋值。if-else有比较有趣的地方是,它不同于c++,Go中if后面不加括号。Go中循环,只有for这一种。可以在循环里面加continue,表示继续下一次的循环,或者用break跳出循环体。Go中switch后面不需要加括号,同时支持各种类型,不仅仅是数字;接着学习了数组,它的长度是固定的,通常我们使用切片,可以动态扩容。切片和python很像。Go中的map是无序的,它是一种键值对形式的哈希结构。可以使用range来遍历slice或者map,得到索引及数据值。后面学习了指针和结构体,这方面和C++很像,结构体感觉可以类比Java里面的类。函数传参的时候,如果是以指针的方式才是与原来的数据一模一样(内存地址与数据都一样),否则传进去的只是一个副本,在内存地址不一样。后面又学习了字符串、错误处理、进程等相关语法。最后,观看视频学习了三个Go的小项目。

image.png slice切片构造