小编Tim*_*all的帖子

嵌套结构中的访问字段

我遇到的问题应该很简单.我正在研究使用codegangsta优秀cli软件包的东西,但我试图从嵌套结构中访问属性并失败.

举个例子,我有:

func Something() []cli.Flag {
    return []cli.Flag{
        cli.StringFlag{
            Name: awesome
            Usage: "be awesome"
           },
         cli.StringFlag{
            Name: awesome2
           },
           <etc.>
         }
Run Code Online (Sandbox Code Playgroud)

我有一个函数接收返回flags []cli.Flag并尝试打印出Name每个成员的字符串值,但我似乎无法访问切片中的嵌套内容.这样做的正确方法是什么?

编辑:这是我做的,加上Mayank的优秀答案

func PrintFlagsForDriver(name string) error {

        for driverName := range drivers {
                if name == driverName {
                        driver := drivers[driverName]
                        flags := driver.GetCreateFlags()
                        stringFlag, ok := flags[0].(cli.StringFlag)
                        if ok {
                                fmt.Println(stringFlag.Name)
                        }
                }
        }
        return fmt.Errorf("Driver %s not found", name)
}
Run Code Online (Sandbox Code Playgroud)

我现在收到一个index out of range运行时错误,但我认为这是别的我做错了.

nested command-line-interface go slice

5
推荐指数
0
解决办法
429
查看次数

标签 统计

command-line-interface ×1

go ×1

nested ×1

slice ×1