使用cobra命令实现Go接口

时间:2017-01-31 02:54:40

标签: go interface go-cobra

我编写了一个程序来使用Go语言中的接口来计算基本算术函数。

我想使用COBRA命令执行相同的操作。这是some Go code using interfaces

我还使用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)

    }

有人可以帮我解决界面和眼镜蛇命令。

0 个答案:

没有答案