这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。
一、前言
Go语言在 2009 年正式对外发布Go语言具有高性能、高并发,语法简单、学习曲线平缓,具有丰富的标注库、完善的工具链,静态链接,快速编译,跨平台,垃圾回收等特点。我们具有java和pythone等语言的基础,再学习今天的课程感觉比较轻松,同时,go的语法与其他的语言语法有许多的相似之处。本文将对今日所学进行总结归纳。
二、知识点归纳
2.1 变量
Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。声明变量通过 var name string =“”这种方式来声明变量,声明变量的时候,一般会自动去推导变量的类型。如果有需要也可以显示写出变量类型。另一种声明变量的方式是:使用变量 冒号:= 等于值。常量的话就是把 var 改成const,go语言里面的常量没有确定的类型,会根据使用的上下文来自动确定类型
2.2 条件语句/循环语句
-
if-else: if后面没有括号,有也会去掉
-
switch: 不需要break语句跳出switch
-
for循环: Go里面只有For循环,类似C
2.3 数组/切片/map/range
-
数组声明:
var a [长度]类型,例如var a [5]int。 -
切片: 没有长度限制的数组,声明:用make([]类型,长度)函数创建,和数组一样使用,用append来追加元素。切片与数组类似,但可以任意更改长度,也具有更丰富的操作。切片用make创造,可以想数组一样取用,用append来追加元素。
-
map: 键值对集合,类似python中的字典,声明make(map[键类型]值类型)。相当于其他语言中的哈希或者字典。我们可以用make来创建一个空map,需要两个类型,第一个是key的类型,第二个是value的类型。 需要注意的是go中的map是完全无序的。
-
range: 用于快速遍历slice或map,返回下标/键 和 值
2.4 函数
Go语言中的函数支持多个返回值类型,通常为两个,一个返回真正的返回结果,另一个返回错误提示信息。
三、总结
通过今天的学习,我收获良多,对Go语言有了一定的了解和认识。个实战项目我更是认识到Go的精妙之处。