嵌套结构中的访问字段

我在一些应该很简单的事情上遇到了麻烦。我正在研究使用 codegangsta 的优秀cli包的东西,但我试图从嵌套结构访问一个属性并且失败了。


例如,我有:


func Something() []cli.Flag {

    return []cli.Flag{

        cli.StringFlag{

            Name: awesome

            Usage: "be awesome"

           },

         cli.StringFlag{

            Name: awesome2

           },

           <etc.>

         }

我有一个函数接收返回的值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)

}

我现在遇到index out of range运行时错误,但我认为这是我做错的另一件事。


收到一只叮咚
浏览 137回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go