GO:搜索结构元素的最佳方法

Mau*_*ori 5 go

我正在使用go结构,现在我有一个结构,其中包含更多的结构,在这种情况下,我需要在切片中找出Id的值.我在最后一个结构中只有一个元素的名称,我现在这样做的方法是读取一个名为Genes的切片的每个元素,直到找到我的字符串Name.有没有更好的做法来找到我的字符串名称?

type GenresResponse struct {
    Count          int           `xml:"count,attr"`
    PageIndex      int           `xml:"page_index,attr"`
    PageSize       int           `xml:"page_size,attr"`
    NumOfResults   int           `xml:"num_of_results,attr"`
    TotalPages     int           `xml:"total_pages,attr"`
    Genes          []Gene        `xml:"gene"`
}

type Gene struct {
    Category       string        `xml:"category,attr"`
    Id             string        `xml:"id,attr"`
    Translations   Translations  `xml:"translations"`
}

type Translations struct{
    Translation    Translation   `xml:"translation"`
}

type Translation struct{
    Lang           string        `xml:"lang,attr"`
    Name           string        `xml:"name"`
}
Run Code Online (Sandbox Code Playgroud)

这就是我读它的方式

idToFind := "0"
    for _, genreItem := range responseStruct.Genes {
        if strings.ToLower(genreItem.Translations.Translation.Name) == strings.ToLower(myNameValue){
            idToFind = genreItem.Id
            break
        }
    }
Run Code Online (Sandbox Code Playgroud)