Day1-go语言基础1 | 青训营笔记

54 阅读2分钟

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

2.2 基础语法 变量

go是强类型语言;字符串是内置类型;

  • 变量声明:

image.png

  • 常量:将var改为const;使用上下文自动确定类型

2.3 基础语法 if else

if没有(),但必须有大括号;

image.png

2.4 基础语法 循环

只有一种for循环;

for后面无,死循环

循环里面,使用break和continue跳出循环;

image.png

2.5 基础语法 switch

不需要加break;自动执行完一条退出;

go语言switch可以使用任意变量类型;

可取代if else语句,switch后面不加变量,case里直接写条件分支;代码逻辑更加清晰;

image.png

2.6 基础语法 数组

真实业务代码中很少直接使用数组,因为长度固定,更多使用切片

image.png

2.7 基础语法 切片

切片任意更改长度,make切片,数组取值,append追加元素;

slice切片原理:一个长度+一个容量+一个指向数组的指针;

append执行,容量不够,扩容返回新的slice;

slice有像python一样的切片操作(前闭后开),但不支持负数索引;

image.png

2.8 基础语法 map

map是实际使用过程中最频繁的数据结构;

可以make一个空map,需要两个类型,分别是key+value;

golang的map完全无序,遍历不按照字母顺序,不按照插入顺序,随机顺序;

image.png

2.9 基础语法 range

对于slice和map,使用range快速遍历;

range遍历,对数组返回两个值,分别是索引和对应位置的值,不需要索引的话,下划线忽略;

image.png

2.10 基础语法 函数

golang的变量类型是后置的;

golang函数原生支持返回多个值;

实际业务逻辑代码中,几乎所有函数都返回两个值;

分别是真正返回结果+错误信息;

image.png