forked from TrueCloudLab/frostfs-locode-db
82 lines
1.7 KiB
Go
82 lines
1.7 KiB
Go
|
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
|
||
|
}
|
||
|
}
|