Skip to content

Latest commit

 

History

History
55 lines (40 loc) · 940 Bytes

09-enum-start.md

File metadata and controls

55 lines (40 loc) · 940 Bytes

Inicie Enums em Um

A maneira padrão de introduzir enumerações em Go é declarar um tipo personalizado e um grupo const com iota. Como as variáveis têm um valor padrão de 0, você normalmente deve começar suas enums com um valor não nulo.

RuimBom
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

Existem casos em que usar o valor zero faz sentido, por exemplo, quando o caso de valor zero é o comportamento padrão desejado.

type LogOutput int

const (
  LogToStdout LogOutput = iota
  LogToFile
  LogToRemote
)

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