тип golang []dao.Record не имеет поля или идентификатора метода

#go #struct

#Вперед #структура

Вопрос:

Я пытаюсь получить доступ Features . Id структуры с использованием следующего условия.

 Record, _ := s.Dao.GetFeatPlansById(QueryId)
if Record.Features.Id == 0 { // <-- error here
    // Do something
}
  

Record Имеет следующую структуру

 type Record struct {
    Id       int
    Name     string
    Features []*Feature
}


// The following Feature struct is located on another file
type Feature struct {
    Id            int
    Name          string
}
  

Однако golang возвращает следующее сообщение об ошибке

 Record.Features.Id undefined (type []*dao.Feature has no field or method Id) compiler
  

Как мы можем получить доступ Features . Id ?

Ответ №1:

Я бы ответил на свой вопрос на основе полученных отзывов.

Что я сделал, так это получил доступ к фрагменту и просто получил первый индекс из того, что мне нужно.

 feature := Record.Features[0]
    if feature.Id == 0 {
        Record.Features = nil
    }