|
Перечисляемые типы (enum) — это частный случай типов-сумм. Enum — это тип с фиксированным набором возможных значений, каждое из которых имеет своё имя. В Go нет enum как отдельной языковой конструкции, но их легко реализовать с помощью существующих идиом языка. |
|
![]()
|
|
|
|
|
Наш enum-тип |
|
|
Возможные значения для |
|
|
Реализация интерфейса fmt.Stringer
позволяет выводить значения Это может быть громоздко при большом количестве значений.
В таких случаях можно использовать инструмент
stringer
совместно с |
|
|
|
|
Если у нас есть значение типа |
|
|
|
|
transition эмулирует переход состояния сервера; принимает текущее состояние и возвращает новое. |
|
|
Предположим, здесь мы проверяем некоторые условия для определения следующего состояния… |
|
|
Далее: Встраивание структур.