Go_Web 编程 1.0array、slice、map Slice map make、new 操作 2.3 流程和函数 流程控制 goto switch 变参 传值与传指针 defer 函数作为值、类型 Panic 和 Recover 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)