第一次接触Go这门编程语言,感觉还挺新鲜的。之前主要专注于Java和Pyhon,也稍微接触过Nodejs。通过接触几门语言的过往经验来说,对于Go语言的入门不会感觉到太难,主要因为编程语言之间的语法还是有一定的相通性的。上完第一节课也确实验证了我的想法,学习基础语言入门还是比较容易接受的。所以接下来会总结一下在Go语言上手-基础语言这节课上所掌握的一些知识点。
Go语言开发环境
- 集成开发环境
集成开发环境对于Go语言开发还是比较方便的,对于编写Go语言的编程规范化上帮助很大。目前比较常用的Go语言集成开发环境主要有Golang和VS Code。
- 基于云的开发环境
对于基于云的开发环境没有过多的了解,本人还是主要使用VS Code进行开发,有兴趣的可自行去进行深入的了解。
- 基础语法
-
运行Go语言程序
- 运行Go语言程序文件与python类似,在终端切换到程序文件所在的目录,通过命令
go run 程序名.go。 - 另一种方式可以通过
go build将其编译成二进制文件,然后通过./二进制文件名来运行Go语言程序。
- 运行Go语言程序文件与python类似,在终端切换到程序文件所在的目录,通过命令
-
变量
- 变量的声明主要有两种形式:一种是
var [variable name] [data type] = [value]以这种方式声明变量的时候,[data type]不是必须的,因为Go语言一般会去推导变量的类型;另一种是[variable name] := [value],这种方式更加直接,类似于python,但这里用的是冒号和等于号去赋值
- 变量的声明主要有两种形式:一种是
-
循环
- Go语言里没有while循环和do-while循环, 只有唯一的for循环。Go语言的for循环还可以延伸出集中变体,比如说最简单的for循环就是在for后面什么循环条件都不写,直接跟大括号循环主体,这就代表一个死循环。不像Java以及python,for循环条件必不可少,但Go语言的for循环的三个条件中,任何一个都可以省略。
-
switch
- Go语言的switch语句也是功能强大。其分支结构和c++的很像,但不同之处也很明显。在Go语言里,每个case里面不用加break语句就可以直接跳出switch,且可以switch任意数据类型的变量。其甚至可以和if else语句进行切换。
-
数组
- Go语言的数组是可以方便的通过索引来存储值。数组在Go语言的实际应用中比较少主要因为其长度是固定的。
-
切片
- 切片其实就是可以任意更改长度的数组。Go语言通过
s:= make([]string, size)来创建一个切片。 - 当使用append来为切片增加元素时,需要把append的结果赋值回原数组。切片可以和python的数组一样有切片的操作,但在Go语言里不支持负数的索引。
- 切片其实就是可以任意更改长度的数组。Go语言通过
-
map
- map也就是Java里的哈希表或者python里的字典。初始化时要定义键和值的数据类型:
m := make(map[string]int)。 - Go语言里的map是无序的,当遍历map的时候它不会安装输入顺序来输出。
- map也就是Java里的哈希表或者python里的字典。初始化时要定义键和值的数据类型:
-
指针
- Go语言也支持指针操作。主要是为了在函数中对传入的参数进行修改。所以当我们在函数中要尝试去修改一些值的时候,传入的参数要使用指针来传入。
-
结构体方法
-
结构体方法类似于Java的class里面的函数,但一个普通的函数定义成了结构体方法,我们就可以通过结构体来调用这个方法。
-
-