A Go package providing all ISO 4217 currency codes as constants of type iso4217.Currency.
For each currency the three-letter alphabetic code, the three-digit numeric code, the currency exponent and the English name are available.
The exponent for historic denominations, for which the constants are annotated as deprecated,
is currently inaccurate.
Currencies can either be hardcoded using the available constants or loaded from a string using
FromAlpha() and FromNumeric().
Use the constants to directly reference currencies.
rates := []struct {
currency iso4217.Currency
amount float32
}{
{iso4217.CAD, 1.30488},
{iso4217.JPY, 110.10},
{iso4217.CLF, 0.028043},
}
fmt.Println("Today, one United States Dollar equals;")
for _, r := range rates {
fmt.Printf("- %.*f %s\n", r.currency.Exponent(), r.amount, r.currency.Name())
}
// Output:
// Today, one United States Dollar equals;
// - 1.30 Canadian Dollar
// - 110 Yen
// - 0.0280 Unidad de FomentoUse FromAlpha() and FromNumeric() to load a currency from a string.
currency, _ := iso4217.FromNumeric("608") // Ignoring error for simplicity
fmt.Println(currency.Alpha(), "is the alphabetic currency code for the", currency.Name())
// Output:
// PHP is the alphabetic currency code for the Philippine Peso