go语言学习-基础篇 | 青训营笔记

53 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第1天

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