package intern type IVertragsRepository interface { GetAllContracts() []Vertrag GetContractById(id int) Vertrag } type Vertrag struct { Id int Data string } type vertragsRepository struct { Vertraege []Vertrag } func (v *vertragsRepository) GetAllContracts() []Vertrag { return v.Vertraege } func (v *vertragsRepository) GetContractById(id int) Vertrag { return v.Vertraege[id] } func NewVertragsRepository() IVertragsRepository { con := []Vertrag{ Vertrag{Id: 1, Data: "Kunde Kling und Bert GmbH"}, Vertrag{Id: 2, Data: "Kunde Wäscherei Puth und Frank"}, Vertrag{Id: 3, Data: "Sören Handwerk und Sanitär"}, } v := vertragsRepository{Vertraege: con} return &v }