Перебор структуры в golang | invalid operation: cannot index progs (variable of type interface{})
У меня есть такая структура
type StructurePrograms struct {
ID int64
ProductName string
Avatar string
}
Получаю записи из БД и кладу их в progs при помощи append (получается 2 записи)
func SQLmyPrograms(email string) (interface{}) {
....
progs := []StructurePrograms{}
for res.Next(){
p := StructurePrograms{}
err := res.Scan(&p.ID, &p.ProductName, &p.Avatar)
if err != nil{
fmt.Println(err)
continue
}
progs = append(progs, p)
}
return progs
Если до return я попробую вывести на экран нулевой элемент все будет ок.
fmt.Println(progs[0])
Вызываю данную функцию
progs := SQLmyPrograms(email)
fmt.Println(progs[0])
Пробую вывести в консоль, во время компиляции получаю ошибку
invalid operation: cannot index progs (variable of type interface{})
Не могу понять в чем проблема. Если вывести в консоль значения переменных они одинаковые что до return что после.
[{1 test /img/test.png}{2 test2 /img/test.png}]
Если вывести тип переменной то и там и там тип: main.StructurePrograms