Go
VS Code 无法下载 Go 插件的工具包
· ☕ 1 分钟
VS Code 安装 Go 插件之后,打开 Go 项目时,编辑器会提示安装工具包。 但是 golang.org 无法直接访问,我们需要将包手动下载到 GOPATH 目录,进行安装。 创建包目录 1 2 cd $GOPATH mkdir -p src/golang.org/x 下载包 1 2 3 cd src/golang.org/x git clone https://github.com/golang/tools.git git clone https://github.com/golang/lint.git 安装包 1 2 go get golang.org/x/tools/... go get github.com/golangci/golangci-lint/cmd/[email protected]

如何使用 KubeBuilder 开发一个 Operator
· ☕ 5 分钟
通过 Operator 的方案,可以对 Kubernetes 的功能进行友好地扩展。Operatpr = CRD + Controller。首先通过 yaml 定义,生成 CRD ,然后 Controller 不断地监听 etcd 中的数据,执行相应动作。开发 Operator 时,有很多繁琐且重复的事情。KubeBuilder 可以帮助我们快速生成骨架代码,

一起来学 Go --(4)常用函数
· ☕ 2 分钟
1. main 和 init 函数 一个 package 里面可以写多个 init 函数,但必须仅包含一个 main 函数。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package main import ( "fmt" ) func init() { fmt.Println("init 1") } func init() { fmt.Println("init 2") } func main() { fmt.Println("main") } // init 1 // init 2 // main 2. defer 函数 Go 不会立即执行 defer 修饰的代码,而是进行标记,在程序退出之前执行。 1 2

开发 Tips(10)
· ☕ 2 分钟
主要记录最近遇到的一些开发问题,解决方法。 1. VS Code 终端执行 .bash_profile 初始化脚本 通过添加启动命令参数,可以使得打开 shell 时,执行初始化脚本 .bash_profile 。 编辑 settings.json,以 OS X 为例,新增如下内容即可: 1 2 3 { "terminal.integrated.shellArgs.osx": ["-l"] } 2. VS Code 配置 zsh 后,图标无法显示 由于安装补

一起来学 Go --(3)Go Modules
· ☕ 3 分钟
1. Go 的包管理机制 1.1 GOPATH GOPATH 通过 go get 命令,拉取代码放到 GOPATH 目录中。 GOPATH 的问题是: 不能进行包版本的管理 使用全局仓库,不能有效进行隔离 1.2 Vendor 1.5 版本开始,Go 中加入了 Vendor 机制。Vendor 解决了 GOPATH 的部分问题。 Vendor 机制通过在项目目录下增加 vendor 文件夹,管理依赖包。 Vendor 的