我遇到了一些應該很簡單的問題。我正在使用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
運行時錯誤添加,但我認爲這是別的東西,我做錯了。
你能告訴我們你試過什麼,所以我們可以調整它,告訴你嗎? –