GOLANG学习25. 结构体方法
定义:func (recevier type) methodName(参数列表)(返回值列表){}
其实我一直在你身边
定义:func (recevier type) methodName(参数列表)(返回值列表){}
type Student struct {
Name string
Age int
Score float32
Next *Student
}
链表在内存里可以不是连续存储的,数组是连续存储的,链表包括单项链表,和双向链表,通过指针指向下一个或者上个结构体地址
type Student struct {
Name string
Age int
Score float32
}
首字母大写代表可以被外包能访问,也就是public作用域
直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表
第一层循环从起始元素开始选到倒数第二个元素,主要是在每次进入的第二层循环之前,将外层循环的下标赋值给临时变量,
接下来的第二层循环中,如果发现有比这个最小位置处的元素更小的元素,则将那个更小的元素的下标赋给临时变量,
最后,在二层循环退出后,如果临时变量改变,则说明,有比当前外层循环位置更小的元素,需要将这两个元素交换.
冒泡排序算法的运作如下:(从后往前)
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
切片是数组的引用
切片的长度可以改变,切片是一个可变的数组
切片和数组一样,可以用len求长度
cap可以求切片的最大容量
切片的定义 var str []string
var a1 [5]int = [5]int{1, 2, 3, 4, 5}
var a6 [2][5]int = […][5]int{{1, 2, 3, 4, 5}, {22, 23, 24, 25, 26}}
close,主要用来关闭channel
len,主要用来求长度,例如:string,array,slice,map,channel
不支持重载,一个包里面不能有两个相同名称的函数
函数也是一种类型,函数可以赋值给一个变量
支持匿名函数
支持多返回值