Golang slice、map、fun、
slice 切片 引用类型
//直接声明 + 初始化
var slice1 []string
slice1 = make([]string, 10 ,10)
//基于数组 、基于切片
*** 基于数组、切片、由于切片使用的是地址引用
- 在 容量 cap 不变的情况下,改变值 原变量 与 新变量 值都会改变
- 在容量 cap 改变时候,原变量 新变量 不再互相影响
- 使用 copy 方法 可使 2变量 内存地址分离
切片扩容
>1024 0.25倍扩展
< 1024 2倍扩容
曾 append ,删 apeng(slice[:1], slice[3:]...) ,改查 slice[key]
map 引用类型
1、var 声明 + make 初始化 map[type]type
-
map key 是否存在 判断: _,ok := map[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] = 1continue}abcCount[v] += 1 } delete(abcCount,"b")
func 函数
abfun := func(){} //可以赋值给变量、函数可以为形参
闭包函数 = 匿名函数 + 函数引用外部的变量
函数可以访问外部变量 、外部不能访问函数内部变量、func(){}() 最后的括号代表执行的意思
defer recover() panice() 先后顺序使用
defer 最后的先执行、用于文件关闭 资源清理 解锁记录
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
