简单谈一谈go的学习心得 | 青训营笔记

50 阅读2分钟

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

关于Go语言的一些学习感想 (基本语法)

1. go语言的基本语法

  1. go语言的语法可谓说是很简洁了,第一次浏览go的标准包的时候就有强烈的这种感觉,函数简洁明了,没有冗余的其它内容,相比于庞大的jdk而言,go的标准库代码阅读起来更加容易一点。让我感触最深的一点就是指针变量的声明,在C++int* a, b;这种写法对于新手而言很容易误认为就是声明两个指向整数的指针变量,但实际上只有a是整形指针变量,b只是一个int整型,但是在C语言中好像并没有明确强调指针符号*应该与变量类型结合还是与变量名结合,这就很容易造成歧义。!!!但是go语言中要想声明类似的两个变量的话我们只需要这样做var a,b *int这样就绝对不会有歧义了,看上去也很明了。
  2. 实际上初学go语言就有很明显的感觉:变量类型的声明放到后面去了,然后函数的声明相比C/C++或者Java这些语言也有很大的变化。确实如此,一开始的时候实际上还是很不适应的,写着写着就成了int a这种行驶了,但在使用一段时间以及对go标准库中代码的阅读,渐渐的也发现了这种语法的好处,其中之一就是第一点所说的解决的歧义的问题,同时出现那种比较复杂的变量或者函数声明方式的时候阅读起来也更容易,TypeScript语法实际上就和这个很像,现在看来这样写还是可以的。再就是程序的三个基本的设计流程:顺序、分支、循环,顺序没啥好活的,分支也是一样的if-else if-else,唯一需要注意的就是go语言中的关键字后面的判断条件是没有括号的,这点在刚开始写go代码的时候还是没有怎么注意的。还有就是循环结构中少了while关键字,但取而代之的是for循环我们也可以写成类似的这种while循环,具体代码就不展示了,前面几天的笔记里面都有。
  3. 简而言之,go相比c/c++/java这类的语言还是有着很大的优势的,语法简洁易懂,初学起来容易但是越往后面学就越困难,还是要多多磨炼。