Golang slice、map、fun、

slice 切片 引用类型

        //直接声明 + 初始化

        var slice1 []string

        slice1 = make([]string, 10 ,10)

        //基于数组  、基于切片

        *** 基于数组、切片、由于切片使用的是地址引用

  1. 在 容量 cap 不变的情况下,改变值 原变量 与 新变量 值都会改变
  2. 在容量 cap 改变时候,原变量 新变量 不再互相影响
  3. 使用 copy 方法 可使 2变量 内存地址分离

      切片扩容

        >1024 0.25倍扩展
        < 1024 2倍扩容          

曾 append ,删 apeng(slice[:1], slice[3:]...) ,改查 slice[key]

map 引用类型 

1、var 声明 + make 初始化 map[type]type

  1. 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 最后的先执行、用于文件关闭 资源清理 解锁记录


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部