添加 SSH ke 到 github 账户 检查 .ssh 文件夹是否有密钥 ls ~/.ssh/ 没有的话生成密钥 ssh-keygen -t rsa -C "your_email@example.com" 添加 SSH key 到 ssh-agent # 后台启动 ssh-agent eval $(ssh-agent -s) # 添加 key ssh-add ~/.ssh/id_rsa 在 github 的个人设置中添加一个 ssh-key 也可
cache 使用 gitlab 的 CI/CD 时,将项目的 runner 设置为 group-runner 若同一个 pipeline 中的 stage 之间共享的 cache 依赖于同一个 runner,所以要保证同一个 pipeline 使用的是一个 runner 可以定义基类的 job
sync.Mutex sync.Mutex 互斥:保证每次只有一个 goroutine 可以访问一个共享的变量 go 标准库提供 sync.Mutex 互斥锁类型及两个方法: Lock 和 Unlock 在代码前调用 Lock,在代码后调用 Unlock 保证这段代码
函数 function 函数用法 函数值 匿名函数 可变函数 variadic function 方法 vs 函数 方法的值接收者 vs 函数的值参数 方法的指针接收者和函数的指针参数 函数 function 函数是基本的代码块,用于
slice slice 长度和容量 append 追加到 slice copy 对 slice 拷贝 对 slice 切片 slice vs array 创建 array 和 slice 切片底层是数组 使用 make 函数创建 slice slice 内存储 slice 内存优化 slice 切片是对数组的抽象,是一种“动态
package 默认导入 导出包内标识符 导入包的重命名 Go 编译速度快 导入匿名包 包的初始化入口 init 内部包 包的文档化 package package pkg_name定义程序属于哪个包,每个 go 文
变量声明使用关键字 var。可以用于包内或函数内 变量声明 指定类型不赋值,使用默认值 var vname vtype = value 提供初始化值时可省略类型,根据初始化值自行判定变量
函数内定义的变量是局部变量,只作用于函数体内,参数和返回值都是局部变量 函数外定义的变量是全局变量,全局变量可在整个包甚至外部包(导出后)使用
行分隔符:一行就是一个语句;多个语句放一行需要手动加;,但是不建议 注释不被编译,但是建议每个包一个注释 标识符:用于命名变量、类型等程序实体,
常量 数值常量 常量 定义类似于变量声明,但是需要 const 关键字 const vname [vtype] = value 显式类型定义const vname vtype = value 隐式类型定义const vname = value 不能使用 := 声明 相同类