Go语言上手-基础语言小结 | 青训营

61 阅读3分钟

第一次接触Go这门编程语言,感觉还挺新鲜的。之前主要专注于Java和Pyhon,也稍微接触过Nodejs。通过接触几门语言的过往经验来说,对于Go语言的入门不会感觉到太难,主要因为编程语言之间的语法还是有一定的相通性的。上完第一节课也确实验证了我的想法,学习基础语言入门还是比较容易接受的。所以接下来会总结一下在Go语言上手-基础语言这节课上所掌握的一些知识点。

Go语言开发环境

  • 集成开发环境

集成开发环境对于Go语言开发还是比较方便的,对于编写Go语言的编程规范化上帮助很大。目前比较常用的Go语言集成开发环境主要有Golang和VS Code。

  • 基于云的开发环境

对于基于云的开发环境没有过多的了解,本人还是主要使用VS Code进行开发,有兴趣的可自行去进行深入的了解。

  • 基础语法
    • 运行Go语言程序

      • 运行Go语言程序文件与python类似,在终端切换到程序文件所在的目录,通过命令 go run 程序名.go
      • 另一种方式可以通过go build将其编译成二进制文件,然后通过./二进制文件名来运行Go语言程序。
    • 变量

      • 变量的声明主要有两种形式:一种是 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语言里不支持负数的索引。
    • map

      • map也就是Java里的哈希表或者python里的字典。初始化时要定义键和值的数据类型:m := make(map[string]int)
      • Go语言里的map是无序的,当遍历map的时候它不会安装输入顺序来输出。
    • 指针

      • Go语言也支持指针操作。主要是为了在函数中对传入的参数进行修改。所以当我们在函数中要尝试去修改一些值的时候,传入的参数要使用指针来传入。
    • 结构体方法

      • 结构体方法类似于Java的class里面的函数,但一个普通的函数定义成了结构体方法,我们就可以通过结构体来调用这个方法。