Как стать автором
Обновить

Комментарии 4

Если уже речь заходит о best practices, то я бы рекомендовал в большинстве случаев избегать случайного совпадения zero-значения с одной из констант:


const (
    _ Direction = iota
    North
    East
    South
    West
)

Плюс использовать кодогенерацию через stringer вместо ручной реализации метода String.

Такой вариант — качественно не то же самое?


const (
    North Direction = iota + 1
    East
    South
    West
)

То же. Вопрос вкуса, мне первый вариант нравится больше — там явно отделены все константы и нельзя случайно потерять "+ 1".

Еще, мне кажется, для полноты понимания работы было бы неплохо упомянуть о поведении в случаях нескольких iota в одной строке:
const (
	a = iota
	_ = iota
	b, c = iota, iota
)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий