我在一些应该很简单的事情上遇到了麻烦。我正在研究使用 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运行时错误,但我认为这是我做错的另一件事。
2 回答
- 2 回答
- 0 关注
- 136 浏览
添加回答
举报
0/150
提交
取消