Когда constructor function лучше не использовать или использовать осторожно?

GoMiddleFunctions, Errors and IdiomsТеорияfunctions_errors_and_idiomsconstructor_functiongolang_developer

Что хотят услышать интервьюеры:

Суть: конструктор в Go — обычная функция, часто

Ответ:

NewX

, которая возвращает готовый объект.

Пример:

func NewRepo(db *sql.DB) *Repo { return &Repo{db: db} }

Практический акцент: Оцените trade-off: простота, производительность, тестируемость, связность пакетов и цена поддержки.

Типичная ошибка: оставлять объект в неконсистентном состоянии после создания.

Как отвечать на собеседовании: Хороший ответ показывает, что Go строится вокруг явных ошибок, простых функций и предсказуемого control flow.

Источники

Похожие вопросы