Golang slice、map、fun、

本文介绍了Go语言中切片的引用特性,包括基于数组和切片的创建,以及在扩容时如何影响变量。同时讲解了map的使用,如检查键是否存在和计数操作。还提及了函数和闭包的概念,包括defer和recover的使用顺序。

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] = 1
          continue
       }
       abcCount[v] += 1
    }
    delete(abcCount,"b")
    

func 函数

abfun := func(){} //可以赋值给变量、函数可以为形参

闭包函数 = 匿名函数 + 函数引用外部的变量

函数可以访问外部变量 、外部不能访问函数内部变量、func(){}() 最后的括号代表执行的意思
defer recover() panice() 先后顺序使用

defer 最后的先执行、用于文件关闭 资源清理 解锁记录

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值