go 学习笔记---切片
删除切片最后一个值
scores := []int{1, 2, 3, 4, 5}
lastIndex := len(scores)-1
source[:lastIndex]
scores = scores[:lastIndex]创建一个切片,底层数组是10, 长度是0
scores := make([]int, 0, 10) //cap=10 len=0
//cap=10 , len=3
scores := make([]int, 3, 10)
scores = append(scores, 1)
//注意此时scores 是: [0 0 0 1]
交换切片中index,和lastIndex 的位置
source[index], source[lastIndex] = source[lastIndex], source[index]Go 用了一个简单的规则去定义什么类型和函数可以包外可见。如果类型或者函数名称以一个大写字母开始,它就具有了包外可见性。如果以一个小写字母开始,它就不可以。
代码格式化: go fmt ./…
当你在一个项目内的时候,你可以运用格式化规则到这个项目及其所有子目录Go 对 if 语句做了稍微修改,支持在条件语句被求值之前先进行初始化:
if x := 10; count > x { ... }
空接口 interface{}
因为空接口没有方法,可以说所有类型都实现了空接口,并且由于空接口是隐式实现的,因此每种类型都满足空接口契约。
(个人理解:空接口可以接受任何类型)type User struck { Name string Age int } var user interface{} = User{"wubuze", 20}
空接口类型转换 .(Type)
延用上例的useru,ok := user.(User) // 转成了struct类型 fmt.Println(u.Name, ok)
本作品采用《CC 协议》,转载必须注明作者和本文链接