Programmers from languages like Java or C++ may miss an enum
type, providing type-safe constants.
type LogLevel struct { name string } var ( LL_FATAL = LogLevel{"fatal"} LL_ERROR = LogLevel{"error"} LL_WARN = LogLevel{"warn"} LL_INFO = LogLevel{"info"} LL_DEBUG = LogLevel{"debug"} )
This code allows functions to take a parameter of type LogLevel
and prevents callers from accidentally passing values of other types for this parameter.