我编写了一个程序来使用 Go 语言中的接口计算基本算术函数。
我想用 COBRA 命令做同样的事情。这是一些使用接口的 Go 代码。
我还使用cobra
没有接口的命令实现了算术函数。
这是使用 cobra 命令而不使用接口概念的添加,我想使用 cobra 命令实现相同的功能。
package cmd
import (
"fmt"
"github.com/spf13/cobra"
"os"
"strconv"
)
func addCmd() *cobra.Command {
var input int
c := &cobra.Command{
Use: "add",
Short: "Addition value of given Numbers",
Run: func(cmd *cobra.Command, args []string) {
if len(args) != input {
fmt.Println(fmt.Sprintf("You need to provide %v number to sum up", input))
os.Exit(1)
}
numbers := make([]int, input)
for i := 0; i < input; i++ {
num, _ := strconv.Atoi(args[i])
numbers[i] = num
}
sum := 0
for _, numbers := range numbers {
sum += numbers
}
fmt.Println("The Sum :", sum)
},
}
c.Flags().IntVar(&input, "input", 0, "Number of input")
return c
}
func init() {
cmd := addCmd()
RootCmd.AddCommand(cmd)
}
有人可以帮助我解决界面和眼镜蛇命令吗?