Какой реальный баг может возникнуть из-за неправильного понимания constructor function?

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

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

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

Ответ:

NewX

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

Пример:

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

Практический акцент: Проверяйте не только happy path: добавьте негативные сценарии, timeout/cancel, граничные значения и регрессионный тест на типичную ошибку.

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

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

Источники

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