среда, 11 ноября 2020 г.

Go style guides: начинайте перечисления с единицы

Стандартный способ введения перечислений (enum) в Go - объявить настраиваемый тип и const группу с помощью iota. Поскольку переменные имеют значение по умолчанию 0, вам обычно следует начинать перечисления с ненулевого значения.

Неудачный вариант:

type Operation int

const (
    Add Operation = iota
    Subtract
    Multiply
)

// Add=0, Subtract=1, Multiply=2

Хороший вариант:

type Operation int

const (
    Add Operation = iota + 1
    Subtract
    Multiply
)

// Add=1, Subtract=2, Multiply=3

Есть случаи, когда использование нулевого значения имеет смысл, например, когда случай нулевого значения является желательным поведением по умолчанию.

type LogOutput int

const (
    LogToStdout LogOutput = iota
    LogToFile
    LogToRemote
)

// LogToStdout=0, LogToFile=1, LogToRemote=2


Читайте также:


Комментариев нет:

Отправить комментарий