Перебор структуры в 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


Ответы (0 шт):