GO基础语法|青训营笔记
这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
GO语言介绍
Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具python等动态语言的开发速度和 C/c++等编译型语言的性能与安全性”。
Go语言具有高性能、高并发,语法简单、学习曲线平缓,具有丰富的标注库、完善的工具链,静态链接,快速编译,跨平台,垃圾回收等特点。
一、本堂课重点内容:
变量
Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。
声明变量的一般形式是使用 var 关键字:
var identifier type
可以一次声明多个变量:
var identifier1, identifier2 type
变量声明
(1)指定变量类型,如果没有初始化,则变量默认为零值。(注意:Go语言变量类型后置)
var name type = value
(2)根据值自行判定变量类型。
name := value
条件语句/循环语句
Go语言中的if else 写法与C/C++类似,不同点是Go语言中的if后面没有括号,而且if后面必须接大括号。
Go语言中只有for循环没有其他的循环结构。
GO语言中的switch分支结构不需要加break,而且功能更加强大,可以使用任意的变量类型,甚至可以用来代替if-else语句。
切片
切片与数组类似,但可以任意更改长度,也具有更丰富的操作。切片用make创造,可以想数组一样取用,用append来追加元素。
s:= make([]string 2)
s[0]="a"
s[1]="b"
s=append(s,"c","d","e","f")
切片操作(第一个数字表示起始位置包含,第二元素表示终止位置不包含):
fmt.Println(s[2:5]) //[c d e]
fmt.Println(s[:5]) //[a b c d e]
fmt.Println(s[2:]) //[c d e f]
map
相当于其他语言中的哈希或者字典。
我们可以用make来创建一个空map,需要两个类型,第一个是key的类型,第二个是value的类型。 需要注意的是go中的map是完全无序的。
m:= make(map[string]int)
函数
Go语言中的函数支持多个返回值类型,通常为两个,一个返回真正的返回结果,另一个返回错误提示信息。
二、课后个人总结:
本人go语言0基础,但对其他语言有一些了解。个人认为第一节课的内容对于有其他语言基础的学者来说是比较容易的。