package repo type User struct { ID int64 Name string } type UserStore interface { FindByID(id int64) (*User, error) } type inMemoryUserStore struct{} func NewInMemoryUserStore() UserStore { return &inMemoryUserStore{} } func (s *inMemoryUserStore) FindByID(id int64) (*User, error) { return &User{ID: id, Name: "demo"}, nil }