1、我想在cli的函数中给wsc对象的某个属性赋值
考虑以下三种方案:
- 回调:需要把函数作为参数。这个匿名函数的参数不可修改,而且是来自控制台输入,没办法。
- context:把context本身作为参数传递,context里面放wsc对象。还是改不了参数,没办法。
- 全局:只能全局了,把wsc声明为全局变量。
var connCmd = &cobra.Command{
Use: "conn [addr]",
Short: "连接服务器",
Long: `指令用法:
conn 127.0.0.1:8888 和服务器建立ws连接,地址格式"127.0.0.1:8888",超时时间单位是s
-to, --timeout int 超时时间,单位s,默认是5s【简写只能是一个字母吗?可以是两个吗 to?】
`,
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
wsc := service.NewVTVLMsg(args[0], global.API_CONN, timeout)
wsc.Start()
},
}
怎么使用context,怎么使用回调?
多处调用,都需要相同的根
标签:cobra,8888,timeout,args,wsc,开发,context,解决,mock From: https://www.cnblogs.com/sybil-hxl/p/17339704.html