Go基础语法 | 青训营笔记
一、本堂课重点内容
这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。今天的课堂主要介绍了Go语言的开发环境安装教程和Go语言的基础语法以及相关实践例子。
二、详细知识点介绍
- Go开发环境
- Golang的安装,通过学习手册,在 studygolang.com/dl 下载安装Golang
- Go集成开发环境安装,可以通过VS+Go插件或者使用JetBrains公司的Go集成开发环境Goland,这里我选择使用后者。
- Go基础语法
- Go 变量
变量声明:通过 var name string =“” 这种方式来声明变量,声明变量的时候,一般会自动去推导变量的类型。如果有需要也可以显示写出变量类型。另一种声明变量的方式是:使用变量 冒号:= 等于值。常量的话就是把 var 改成const,go语言里面的常量没有确定的类型,会根据使用的上下文来自动确定类型
- Go if-else
if后面没有括号,有也会去掉
- Go switch
不需要break语句跳出switch
- Go for循环
Go里面只有For循环,类似C
- Go 数组、切片、map和range
数组声明: var a [长度]类型,例如var a [5]int
切片:没有长度限制的数组,声明:用make([]类型,长度)函数创建,和数组一样使用,用append来追加元素。
map:键值对集合,类似python中的字典,声明make(map[键类型]值类型)
range:用于快速遍历slice或map,返回下标/键 和 值
- Go 函数
参数类型是后置的
- Go 指针
和C差不多,没那么复杂
- Go 结构体
带类型的字段的集合,没什么特别的
- Go 结构体方法
在声明函数时,把结构体参数加上括号写在函数名之前,如func(u 结构体名)(* u 结构体名) 函数名(其他参数){}
- Go 字符串操作和字符串格式化
strings标准库下有很多字符串操作方法
%v,%+v,%+v,不用区分变量类型;%.2f保留小数点后2位
- Go 错误处理
Go使用一个单独的返回值来传递错误信息
- Go JSON处理
保证结构体的每个字段首字母大写,就可以用JSON.marshaler进行序列化
- Go 时间处理
time.format,time.parse
- Go 数字解析
在 STR conv 包下有所有字符串和数字转换的方法
- Go 进程信息
os.argv
三、课后个人总结
通过今天的学习,我收获良多,对Go语言有了一定的了解和认识,也认识了一些基础语法的基本使用方法,通过三个实战项目我更是认识到Go的精妙之处。