package entity type StaffStatus uint const ( StaffActiveStatus StaffStatus = iota + 1 StaffDeactiveStatus ) var StaffStatusStrings = map[StaffStatus]string{ StaffActiveStatus: "active", StaffDeactiveStatus: "deactive", } func (s StaffStatus) String() string { return StaffStatusStrings[s] } // AllStaffStatus returns a slice containing all string values of StaffStatus. func AllStaffStatus() []string { statusStrings := make([]string, len(StaffStatusStrings)) for status, str := range StaffStatusStrings { statusStrings[int(status)-1] = str } return statusStrings } // MapToStaffStatus converts a string to the corresponding StaffStatus value. func MapToStaffStatus(statusStr string) StaffStatus { for status, str := range StaffStatusStrings { if str == statusStr { return status } } return StaffStatus(0) }