这是我参与「第五届青训营 」笔记创作活动的第1天
- go语言优势 1、高性能,高并发 2、语法简单 3、丰富的标准库 4、完善工具链 5、静态链接 6、快速编译 7、跨平台 8、垃圾回收
- 基础环境配置
本人选择Goland编辑器编写相关项目,其中需要配置go的环境变量,直到出现下图表示安装go成功
- 在goland编辑器中配置相关go的信息,创建go项目
- 通过go mod init 项目名称对项目进行管理
- go mod tidy 对项目依赖包进行版本校验
- go的基础语法
-
- 变量基本定义
- 方式一 var 变量名 类型 (var demo string)
- 方式二 变量名 := 值 (demo := "hello")
-
- 判断结构if - else
-
if 判断条件{}else{} -
switch使用 -
- switch 变量{
-
- case 条件1:输出语句
-
- 条件2:输出语句
-
- }
-
- switch{
-
- case 条件(a>12):输出语句
-
- case 条件(b<23):输出语句
-
- }
-
- 循环结构(在go里面只有for循环)
- for 遍历条件{逻辑结构处理}
-
- 数组类型使用
-
- var 数组名称 [长度]类型
-
- 通过数组下标可对数组进行元素获取、修改
-
- 切片使用slice
-
- slice实际上是一个可变长度的数组,底层是数组类型的指针
-
- 使用slice之前需要通过make(slice,长度)初始化
-
- 追加元素通过 slice = append(slice,元素)
-
- for imdex,num := range slice{} Index表示下标,num表示对应的slice元素值
-
- map使用
-
- 使用之前需要用make初始化
-
- 通过key-value形式保存数据
-
- 通过key获取相关数据
-
- for i,num := range map {}i表示key,num 表示value
-
- function使用
- func 函数名(传入参数名 类型 )(返回值,err 错误信息){函数体}
-
- 结构体使用struct
-
- type 结构体名称 struct{字段名 类型
json:json中的字段名;}
- type 结构体名称 struct{字段名 类型
-
- 结构体对应的method,可以通过结构体名称.函数名对函数进行调用
-
- *结构体名称 可以对结构体字段进行值修改 结构体名称 无法对结构体字段值修改
-
- func (别名 *结构体名称)函数名(传入参数名 类型 )(返回值,err 错误信息){函数体}
-
- 9 错误处理
-
- 利用panic抛出错误
-
- 通过defer捕获错误,相当于栈操作,先进后出
-
- 通过recover处理错误
- 通过recover处理错误