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方法:
方法是否是值类型取决于方法中的绑定处
不管绑定值类型还是指针,对象或对象指针都能调用,区别对象会不会被方法修改
创建结构体:
工厂模式
用户设置
快捷键