Files
NBA_Go/utils/teams.go
T

64 lines
1.9 KiB
Go

// utils/teams.go
package utils
// teamNameToAbbr is un-exported (private to the package) and serves as the single source of truth.
var teamNameToAbbr = map[string]string{
"Atlanta Hawks": "ATL",
"Boston Celtics": "BOS",
"Brooklyn Nets": "BKN",
"Charlotte Hornets": "CHA",
"Chicago Bulls": "CHI",
"Cleveland Cavaliers": "CLE",
"Dallas Mavericks": "DAL",
"Denver Nuggets": "DEN",
"Detroit Pistons": "DET",
"Golden State Warriors": "GSW",
"Houston Rockets": "HOU",
"Indiana Pacers": "IND",
"Los Angeles Clippers": "LAC",
"Los Angeles Lakers": "LAL",
"Memphis Grizzlies": "MEM",
"Miami Heat": "MIA",
"Milwaukee Bucks": "MIL",
"Minnesota Timberwolves":"MIN",
"New Orleans Pelicans": "NOP",
"New York Knicks": "NYK",
"Oklahoma City Thunder": "OKC",
"Orlando Magic": "ORL",
"Philadelphia 76ers": "PHI",
"Phoenix Suns": "PHX",
"Portland Trail Blazers":"POR",
"Sacramento Kings": "SAC",
"San Antonio Spurs": "SAS",
"Toronto Raptors": "TOR",
"Utah Jazz": "UTA",
"Washington Wizards": "WAS",
}
// TeamAbbrToName is the exported reverse map.
var TeamAbbrToName map[string]string
// init() runs automatically when the package is first used.
// It creates the reverse map so it's ready for use.
func init() {
TeamAbbrToName = make(map[string]string, len(teamNameToAbbr))
for name, abbr := range teamNameToAbbr {
TeamAbbrToName[abbr] = name
}
}
// GetAbbreviation looks up a team's full name and returns its abbreviation.
func GetAbbreviation(fullName string) string {
if abbr, ok := teamNameToAbbr[fullName]; ok {
return abbr
}
return fullName // Fallback
}
// GetFullName looks up a team's abbreviation and returns its full name.
func GetFullName(abbr string) string {
if name, ok := TeamAbbrToName[abbr]; ok {
return name
}
return abbr // Fallback
}