go2

函数返回多个值:

 

 

 

 

 

 

 

 

 

 

 

 

 funvar是函数名字

  

 

 

函数可变参数:

 

 

 

 

init函数:

 

 

执行顺序:

 

匿名函数:

 

 

 

 

 

闭包就是函数加一些外面的变量:

 

 

 

 

defer:

 

变量作用域:

 

 

 

 

 

 

 常用函数:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

结果:

 

 

 

 

 

 

 

 

 

时间和日期:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

new:

 

 错误处理:

 

 

 

 

自定义错误:

 

 

 

 

 

 数组是值类型:

 

 

 

 

 

 

 

形参得给出数组长度,否则是切片

 

 

 

随机值随种子而变,若种子不变,则随机值不变

 切片:

 

 

切片中每个元素的地址和数组地址是一样的,相当于就在操作数组本身

 

 

 

 

 

 

 

 

 

遍历:

 

 

 

 

append:

不用make了

 

 

copy

 

 

 

 更改字符串:

 

二维数组

定义:

 

原理:

&arr2[0]:0xc04200a270

初始化:

遍历二维数组: 

 

map:

[key:value,key:value,...]

 

 

 

 删除键值对: 

 

 

 

 通过key查找:

遍历map: 

  

map切片:切片中的每个元素是map

 map排序:

 

 

 

 map是引用类型,且支持动态扩容

切片make时需要制定长度,而map不需要

 

 结构体:

下面的类型名就像类名

type 类型名 struct{

} 

 

 

 

 

 结构体是值类型:

 

 结构体指针:

new后面跟()开辟空间,类似于make

 

 

 注意:

 

 

 方法:

func 绑定 方法名(参数)返回值类型{

}

 

 

 

 

 

 

 

方法里面的修改会影响到外面 :

 

 结构体实现String方法:

 

方法是否是值类型取决于方法中的绑定处

不管绑定值类型还是指针,对象或对象指针都能调用,区别对象会不会被方法修改

  

 

 

 

 

创建结构体: 

 

 

 

 

 工厂模式

 

 

 

 

 

用户设置

 

快捷键

 

 

 

posted @ 2020-05-11 14:40  Jary霸  阅读(292)  评论(0编辑  收藏  举报