这是我参与「第三届青训营 -后端场」笔记创作活动的的第2篇笔记。
开营到现在,也算是Go语言入门了,配置了相关的环境变量,装了Goland,也跑了几个demo。 这几天学下来最大的感受是,这门语言融合看很多语言的东西在里面,比如C语言的指针(毕竟是C系的语言)操作,类似malloc的make,Python的切片等。之前在学习Java和基于Java语言进行开发的时候,有时候会遇到数组难以分段处理的问题,在Go中引入了切片的概念,则很好的解决了这个问题。
学习过程中还是对Go的工程系统不太熟悉,目前已知是: 1.在同一目录下,需要都命名为main包,调用函数时直接用就行。 2.在不同目录下,使用另一个文件下的函数时需要先导入包再使用。 3.其他包中的函数命名时需要首字母大写。 但是对于工程系统我也有一些疑惑的问题(这些问题可能也是目前学的不够深入),例如似乎每个工程都需要重新配GOPATH和GOBIN?假如我想像Java一样每个目录下都创建一个文件里包含main函数,好像没办法?因为同一目录下只能有一个main包和main函数?这个问题我至今还是通过不断创建新的目录去解决,每次测试新的demo都很麻烦。
似乎每个人都说Go相当于Java处理并发的效率更高,我目前还没探究到具体的优势在哪,这也是我后续需要学习的地方。