Go Enumerations: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 19: | Line 19: | ||
SUN | SUN | ||
) | ) | ||
</syntaxhighlight> | |||
The enumeration constants can be rendered as strings by making the enum type implement a Stringer interface: | |||
<syntaxhighlight lang='go'> | |||
func (dotw DayOfTheWeek) String() string { | |||
return ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]string{}[dotw] | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 22:40, 10 January 2024
External
Internal
Overview
Go does not have formal enums, but the language allows for sets of related, yet distinct int
constants. They represent a property that has several distinct possible int
values, like the days of the weeks or the months of the year. They are declared using the pre-declared constant iota
:
type DayOfTheWeek int
const (
MON DayOfTheWeek = iota
TUE
WED
THU
FRI
SAT
SUN
)
The enumeration constants can be rendered as strings by making the enum type implement a Stringer interface:
func (dotw DayOfTheWeek) String() string {
return ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]string{}[dotw]
}