go-2021-01-28
1、函数作为值传递,主要应该注意的是区分出函数的起始到结束到底是从哪到哪,即函数签名(包括函数名、形参列表、返回值所构成的内容),当然了这就不是指函数体,因为函数体本来就有{}做范围提示起始和终止。
2、取模%运算只能用于整数,并且取模运算的结果其符号与被除数保持一致,例如:
(1)(-5)÷3=-1...-2
(2)5÷(-3)=-1...2
经过上面列举的两个例子就可以看出,除号后面为除数,除号前面为被除数,取余之后符号追随被除数。
3、逻辑运算符与(&&)或(||)非(!)中,非的优先级最高。
4、优先级:算术运算(加减乘除)>关系运算(比较大小相等)>逻辑运算(与或非)。
5、函数传参时传切片的话,则切片与实参是共享关系,而普通形参则只是实参的一份拷贝。
6、从B切片中复制第2号元素到A切片中时,要写成copy(cheesesA,cheesesB[2:3]),而不能写成copy(cheesesA,cheesesB[2]),因为cheesesB[2]为元素而非切片,但copy操作的类型要求为切片。
7、数组总是由整数int下标来索引所定义的任意类型数组内容,也就是说数组方括号内总是由整数int构成,而元素为用户所指定的任意类型元素,为了去掉下标仅由整数int所构成的这一禁锢,将其也扩展为任意类型,所以就得到了映射。
8、映射的三种创建形式:
(1)var f1 map[string]int
(2)var f2 = make(map[string]int)
(3)f3 := map[string]int{"hello":22,"world":12}