第二天 | 青训营笔记

60 阅读2分钟

Go_Web 编程 1.0arrayslicemap Slice map makenew 操作 2.3 流程和函数 流程控制 goto switch 变参 传值与传指针 defer 函数作为值、类型 PanicRecover main函数和 init函数 import 2.4 struct 类型 struct struct 的匿名字段 2.5 面向对象 method method 继承 method 重写

几个注意的点: 1、大写字母开头的变量是可导出的,也就是其它包可以读取的,是公用变量;小写字母开头的就是不可导出的,是私有变量。大写字母开头的函数也是一样,相当于 class 中的带 public 关键词的公有函数;小写字母开头的就是有 private 关键词的私有函数。

2、golang 的==引用类型==包括 slice、map、channel、function、pointer 等. 它们在进行赋值时拷贝的是指针值,但拷贝后指针指向的地址是相同的.

1、bin 目录下面存的是编译之后可执行的文件,pkg 下面存放的是函数包,src 下面保存的是应用源代码(.go文件)。

iota枚举

1.Go 里面有一个关键字 iota,这个关键字用来声明 enum 的时候采用,它默认开始值是 0 每调用一次加 1(但是遇到一个const关键字iota就会重置)。

1.0array、slice、map Slice 1、slice 通过 array[i:j]来获取,其中 i是数组的开始位置,j 是结束位置,但不包含 array[j],它的长度是 j-i。

对于 slice 有几个有用的内置函数:

• len 获取 slice 的长度

• cap 获取 slice 的最大容量

map 使用 map 过程中需要注意的几点:

• map 是无序的,每次打印出来的 map 都会不一样,它不能通过 index 获取,而必须通过 key 获取

• map 的长度是不固定的,也就是和 slice 一样,也是一种引用类型

• 内置的 len 函数同样适用于 map,返回 map 拥有的 key 的数量

• map 的值可以很方便的修改,通过 numbers[“one”]=11 可以很容易的把 key 为 one的字典值改为 11

make、new 操作 make 用于内建类型(map、slice 和 channel)的内存分配。new 用于各种类型的内存分配。make 只能创建 slice、map 和 channel,并且返回一个有初始值(非零)的 T 类型,而不是*T。

new 返回指针。(*T) make 返回初始化后的(非零)值。(T)