Как правильно проичитать функцию в GO?

Только начинаю изучать язык GO. Помогите прочитать функцию человеческим языком.

func (p *myDb) SelectUsers() ([]*model.User, error) {
	user := make([]*model.User, 0)
	if err := p.sqlSelectUsers.Select(&user); err != nil {
		return nil, err
	}
	return user, nil
}
  • Вопрос задан
  • 96 просмотров
Решения вопроса 2
@PapaStifflera
Родился, вырос...
user := make([]*model.User, 0)
объявляется слайс-приемник для массива *model.User

if err := p.sqlSelectUsers.Select(&user); err != nil {
    return nil, err
}

делается запрос в БД. если вернулась ошибка - возвращаем nil и ошибку

return user, nil
в противном случае возвращаем слайс-приемнык с результатом из БД и nil
Ответ написан
Комментировать
mashletov
@mashletov
Math.random()
func (p *myDb) SelectUsers() ([]*model.User, error) { // добавляет к myDb метод SelectUser() возвращающий массив пользователей и ошибку (если есть)
	user := make([]*model.User, 0) // выделяем память на массив указателей на model.User
	if err := p.sqlSelectUsers.Select(&user); err != nil { // делаем sql select и заполняем этот массив
		return nil, err // если ошибка
	}
	return user, nil
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы