package locodedb // Continent is an enumeration of Earth's continent. type Continent uint8 const ( // ContinentUnknown is an undefined Continent value. ContinentUnknown = iota // ContinentEurope corresponds to Europe. ContinentEurope // ContinentAfrica corresponds to Africa. ContinentAfrica // ContinentNorthAmerica corresponds to North America. ContinentNorthAmerica // ContinentSouthAmerica corresponds to South America. ContinentSouthAmerica // ContinentAsia corresponds to Asia. ContinentAsia // ContinentAntarctica corresponds to Antarctica. ContinentAntarctica // ContinentOceania corresponds to Oceania. ContinentOceania ) // Is checks if c is the same continent as c2. func (c *Continent) Is(c2 Continent) bool { return *c == c2 } func (c Continent) String() string { switch c { case ContinentUnknown: fallthrough default: return "Unknown" case ContinentEurope: return "Europe" case ContinentAfrica: return "Africa" case ContinentNorthAmerica: return "North America" case ContinentSouthAmerica: return "South America" case ContinentAsia: return "Asia" case ContinentAntarctica: return "Antarctica" case ContinentOceania: return "Oceania" } } // ContinentFromString returns Continent value // corresponding to the passed string representation. func ContinentFromString(str string) Continent { switch str { default: return ContinentUnknown case "Europe": return ContinentEurope case "Africa": return ContinentAfrica case "North America": return ContinentNorthAmerica case "South America": return ContinentSouthAmerica case "Asia": return ContinentAsia case "Antarctica": return ContinentAntarctica case "Oceania": return ContinentOceania } }