//直接声明 + 初始化
var slice1 []string
slice1 = make([]string, 10 ,10)
//基于数组 、基于切片
*** 基于数组、切片、由于切片使用的是地址引用
切片扩容
>1024 0.25倍扩展
< 1024 2倍扩容
曾 append ,删 apeng(slice[:1], slice[3:]...) ,改查 slice[key]
abcSlice := strings.Split("a,b,c,d,d,e",",") //var abcCount map[string]int abcCount := make(map[string]int) for _,v := range abcSlice { if _,ok := abcCount[v]; !ok { abcCount[v] = 1 continue } abcCount[v] += 1 } delete(abcCount,"b")
abfun := func(){} //可以赋值给变量、函数可以为形参
闭包函数 = 匿名函数 + 函数引用外部的变量
函数可以访问外部变量 、外部不能访问函数内部变量、func(){}() 最后的括号代表执行的意思
defer recover() panice() 先后顺序使用
defer 最后的先执行、用于文件关闭 资源清理 解锁记录