package entity type UserGender uint const ( UserMaleGender UserGender = iota + 1 UserFemaleGender ) var UserGenderStrings = map[UserGender]string{ UserMaleGender: "male", UserFemaleGender: "female", } func (s UserGender) String() string { return UserGenderStrings[s] } // AllUserGender returns a slice containing all string values of UserGender. func AllUserGender() []string { statusStrings := make([]string, len(UserGenderStrings)) for status, str := range UserGenderStrings { statusStrings[int(status)-1] = str } return statusStrings } // MapToUserGender converts a string to the corresponding UserGender value. func MapToUserGender(statusStr string) UserGender { for status, str := range UserGenderStrings { if str == statusStr { return status } } return UserGender(0) }