Go基础语法 | 青训营笔记

110 阅读2分钟

Go基础语法 | 青训营笔记

一、本堂课重点内容

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。今天的课堂主要介绍了Go语言的开发环境安装教程和Go语言的基础语法以及相关实践例子。

二、详细知识点介绍

  1. Go开发环境
    1. Golang的安装,通过学习手册,在 studygolang.com/dl 下载安装Golang
    2. Go集成开发环境安装,可以通过VS+Go插件或者使用JetBrains公司的Go集成开发环境Goland,这里我选择使用后者。
  2. 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的精妙之处。