golang入门笔记

目标

cobra

参考文档

在 Golang 中使用 Cobra 创建 CLI 应用

常用命令

初始化cobra CLI应用脚手架

cobra init --pkg-name spot-tool

编译二进制

go build -o spot-tool

增加子命令

增加子命令
cobra add runInstances
执行子命令 ./rootCmd subCmd params
./spot-tool runInstances 10 11 12 13 14

增加孙命令

增加子命令
cobra add subRunInstances
修改subRunIntances.go的init
rootCmd.AddCommand(subRunInstancesCmd) 改成
runInstancesCmd.AddCommand(subRunInstancesCmd) 
执行孙命令
./spot-tool runInstances subRunIntances params

为命令增加flag

子命令init中增加标识 
runInstancesCmd.Flags().BoolP("float", "f", false, "Add Floating Numbers")
Run: func 中增加识别该标识的逻辑
fstatus, _ := cmd.Flags().GetBool("float")
if fstatus {
    floatAdd(args)
} else {
    intAdd(args)
}

k8s中如何使用cobra