当前位置: 首页 > 工具软件 > go-spacemesh > 使用案例 >

Golang slice、map、fun、

杨飞飙
2023-12-01

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

 类似资料: