前两天听了字节的Go语言基础课,收获非常大。但是因为我之前并没有Go语言基础,只学过C语言和python,所以我利用空闲时间浅学了一下Go语言,希望我的这篇文章可以帮助到像我这种情况的人。下面是我根据字节第一节课中涉及的知识点的更详细的笔记。
首先是包的导入有两种方法,参看图片3~10行,建议使用第二种。
特别要注意第14行的注释内容,这个括号的位置与C语言和python不同,一定要放在同一行。
接下来是变量的声明,不同于前面所提到的两种语言,Go中变量的类型是放在变量之后的,例如
var a int
,是放在a之后的。当然在Go中最常见的是省略var的关键字,自动匹配:a := 100
其中:=是第一次声明变量时要使用的。特别需要注意的是:=声明变量不可在函数体外,所以声明全局变量时要用var来声明。
多个变量的声明使用 , 隔开,也可直接在var中多行声明。
上面所介绍的var是变量的声明,下面介绍一下常量及其运用。
常量我们用const来声明,例如
const length int = 10
。同样,当声明多个变量时用const ()
。提到了const,那就必须介绍一下iota。iota在const定义枚举较为常用。iota第一行的默认值为0,每一行都会累加1。特别需要注意的是iota只有在const中才有累加的效果。
注意第17行iota的是并没有因为空行而改变。
接下来介绍一下返回值,不同于C语言,Go支持多返回值,下面重点介绍一下多个返回值。
第15~20行是匿名的,返回值直接写在return
之后。而下面的是有形参的,可直接赋值,也可像匿名的一样。当返回值是同种类型时可写到一起,23行可变为r1 , r2 int
。
以上是我学GO语言的笔记,更详细的内容可以参考李丹冰老师的视频。