seekia/resources/currencies/currencies.go

711 lines
16 KiB
Go
Raw Normal View History

// currencies provides a list of currencies, and a way to retrieve information about them
package currencies
import "errors"
type CurrencyObject struct{
// The name of the currency
Name string
// The three letter ISO code that is used to refer to the currency
Code string
// The symbol or abbreviation prefix for displaying the amount.
// Example: $5, €6
Symbol string
}
func VerifyCurrencyCode(currencyCode string)(bool, error){
currencyObjectsMap, err := GetCurrencyObjectsMap()
if (err != nil){ return false, err }
_, exists := currencyObjectsMap[currencyCode]
if (exists == true){
return true, nil
}
return false, nil
}
var currencyObjectsMap map[string]CurrencyObject
var currencyObjectsList []CurrencyObject
func init(){
initializeCurrencyObjectsList()
// We initialize the currencyObjectsMap
currencyObjectsMap = make(map[string]CurrencyObject)
for _, currencyObject := range currencyObjectsList{
currencyCode := currencyObject.Code
currencyObjectsMap[currencyCode] = currencyObject
}
}
//Outputs:
// -string: Currency name
// -string: Currency symbol
// -error
func GetCurrencyInfoFromCurrencyCode(currencyCode string)(string, string, error){
currencyObjectsMap, err := GetCurrencyObjectsMap()
if (err != nil) { return "", "", err }
currencyObject, exists := currencyObjectsMap[currencyCode]
if (exists == false){
return "", "", errors.New("GetCurrencyInfoFromCurrencyCode called with invalid currency code: " + currencyCode)
}
currencyName := currencyObject.Name
currencySymbol := currencyObject.Symbol
return currencyName, currencySymbol, nil
}
//Output:
// -map[string]CurrencyObject: Currency Code -> Currency Object
// -error
func GetCurrencyObjectsMap()(map[string]CurrencyObject, error){
if (currencyObjectsMap == nil){
return nil, errors.New("GetCurrencyObjectsMap called when currencyObjectsMap is not initialized.")
}
return currencyObjectsMap, nil
}
func GetCurrencyObjectsList()([]CurrencyObject, error){
if (currencyObjectsList == nil){
return nil, errors.New("GetCurrencyObjectsList called when currencyObjectsList is not initialized.")
}
return currencyObjectsList, nil
}
func initializeCurrencyObjectsList(){
currencyObject_1 := CurrencyObject{
Name: "US Dollar",
Code: "USD",
Symbol: "$",
}
currencyObject_2 := CurrencyObject{
Name: "Canadian Dollar",
Code: "CAD",
Symbol: "CA$",
}
currencyObject_3 := CurrencyObject{
Name: "Euro",
Code: "EUR",
Symbol: "€",
}
currencyObject_4 := CurrencyObject{
Name: "United Arab Emirates Dirham",
Code: "AED",
Symbol: "AED",
}
currencyObject_5 := CurrencyObject{
Name: "Afghan Afghani",
Code: "AFN",
Symbol: "Af",
}
currencyObject_6 := CurrencyObject{
Name: "Albanian Lek",
Code: "ALL",
Symbol: "ALL",
}
currencyObject_7 := CurrencyObject{
Name: "Armenian Dram",
Code: "AMD",
Symbol: "AMD",
}
currencyObject_8 := CurrencyObject{
Name: "Argentine Peso",
Code: "ARS",
Symbol: "AR$",
}
currencyObject_9 := CurrencyObject{
Name: "Australian Dollar",
Code: "AUD",
Symbol: "AU$",
}
currencyObject_10 := CurrencyObject{
Name: "Azerbaijani Manat",
Code: "AZN",
Symbol: "₼",
}
currencyObject_11 := CurrencyObject{
Name: "Bosnia and Herzegovina Convertible Mark",
Code: "BAM",
Symbol: "KM",
}
currencyObject_12 := CurrencyObject{
Name: "Bangladeshi Taka",
Code: "BDT",
Symbol: "Tk",
}
currencyObject_13 := CurrencyObject{
Name: "Bulgarian Lev",
Code: "BGN",
Symbol: "BGN",
}
currencyObject_14 := CurrencyObject{
Name: "Bahraini Dinar",
Code: "BHD",
Symbol: "BD",
}
currencyObject_15 := CurrencyObject{
Name: "Burundian Franc",
Code: "BIF",
Symbol: "FBu",
}
currencyObject_16 := CurrencyObject{
Name: "Brunei Dollar",
Code: "BND",
Symbol: "BN$",
}
currencyObject_17 := CurrencyObject{
Name: "Bolivian Boliviano",
Code: "BOB",
Symbol: "Bs",
}
currencyObject_18 := CurrencyObject{
Name: "Brazilian Real",
Code: "BRL",
Symbol: "R$",
}
currencyObject_19 := CurrencyObject{
Name: "Botswanan Pula",
Code: "BWP",
Symbol: "BWP",
}
currencyObject_20 := CurrencyObject{
Name: "Belarusian Ruble",
Code: "BYN",
Symbol: "Br",
}
currencyObject_21 := CurrencyObject{
Name: "Belize Dollar",
Code: "BZD",
Symbol: "BZ$",
}
currencyObject_22 := CurrencyObject{
Name: "Congolese Franc",
Code: "CDF",
Symbol: "CDF",
}
currencyObject_23 := CurrencyObject{
Name: "Swiss Franc",
Code: "CHF",
Symbol: "CHF",
}
currencyObject_24 := CurrencyObject{
Name: "Chilean Peso",
Code: "CLP",
Symbol: "CL$",
}
currencyObject_25 := CurrencyObject{
Name: "Chinese Yuan",
Code: "CNY",
Symbol: "CN¥",
}
currencyObject_26 := CurrencyObject{
Name: "Colombian Peso",
Code: "COP",
Symbol: "CO$",
}
currencyObject_27 := CurrencyObject{
Name: "Costa Rican Colón",
Code: "CRC",
Symbol: "₡",
}
currencyObject_28 := CurrencyObject{
Name: "Cape Verdean Escudo",
Code: "CVE",
Symbol: "CV$",
}
currencyObject_29 := CurrencyObject{
Name: "Czech Republic Koruna",
Code: "CZK",
Symbol: "Kč",
}
currencyObject_30 := CurrencyObject{
Name: "Djiboutian Franc",
Code: "DJF",
Symbol: "Fr",
}
currencyObject_31 := CurrencyObject{
Name: "Danish Krone",
Code: "DKK",
Symbol: "Dkr",
}
currencyObject_32 := CurrencyObject{
Name: "Dominican Peso",
Code: "DOP",
Symbol: "RD$",
}
currencyObject_33 := CurrencyObject{
Name: "Algerian Dinar",
Code: "DZD",
Symbol: "DA",
}
currencyObject_34 := CurrencyObject{
Name: "Estonian Kroon",
Code: "EEK",
Symbol: "Ekr",
}
currencyObject_35 := CurrencyObject{
Name: "Egyptian Pound",
Code: "EGP",
Symbol: "EGP",
}
currencyObject_36 := CurrencyObject{
Name: "Eritrean Nakfa",
Code: "ERN",
Symbol: "Nfk",
}
currencyObject_37 := CurrencyObject{
Name: "Ethiopian Birr",
Code: "ETB",
Symbol: "Br",
}
currencyObject_38 := CurrencyObject{
Name: "British Pound Sterling",
Code: "GBP",
Symbol: "£",
}
currencyObject_39 := CurrencyObject{
Name: "Georgian Lari",
Code: "GEL",
Symbol: "GEL",
}
currencyObject_40 := CurrencyObject{
Name: "Ghanaian Cedi",
Code: "GHS",
Symbol: "GH₵",
}
currencyObject_41 := CurrencyObject{
Name: "Guinean Franc",
Code: "GNF",
Symbol: "FG",
}
currencyObject_42 := CurrencyObject{
Name: "Guatemalan Quetzal",
Code: "GTQ",
Symbol: "GTQ",
}
currencyObject_43 := CurrencyObject{
Name: "Hong Kong Dollar",
Code: "HKD",
Symbol: "HK$",
}
currencyObject_44 := CurrencyObject{
Name: "Honduran Lempira",
Code: "HNL",
Symbol: "HNL",
}
currencyObject_45 := CurrencyObject{
Name: "Croatian Kuna",
Code: "HRK",
Symbol: "kn",
}
currencyObject_46 := CurrencyObject{
Name: "Hungarian Forint",
Code: "HUF",
Symbol: "Ft",
}
currencyObject_47 := CurrencyObject{
Name: "Indonesian Rupiah",
Code: "IDR",
Symbol: "Rp",
}
currencyObject_48 := CurrencyObject{
Name: "Israeli New Sheqel",
Code: "ILS",
Symbol: "₪",
}
currencyObject_49 := CurrencyObject{
Name: "Indian Rupee",
Code: "INR",
Symbol: "Rs",
}
currencyObject_50 := CurrencyObject{
Name: "Iraqi Dinar",
Code: "IQD",
Symbol: "IQD",
}
currencyObject_51 := CurrencyObject{
Name: "Iranian Rial",
Code: "IRR",
Symbol: "IRR",
}
currencyObject_52 := CurrencyObject{
Name: "Icelandic Króna",
Code: "ISK",
Symbol: "Ikr",
}
currencyObject_53 := CurrencyObject{
Name: "Jamaican Dollar",
Code: "JMD",
Symbol: "J$",
}
currencyObject_54 := CurrencyObject{
Name: "Jordanian Dinar",
Code: "JOD",
Symbol: "JD",
}
currencyObject_55 := CurrencyObject{
Name: "Japanese Yen",
Code: "JPY",
Symbol: "¥",
}
currencyObject_56 := CurrencyObject{
Name: "Kenyan Shilling",
Code: "KES",
Symbol: "Ksh",
}
currencyObject_57 := CurrencyObject{
Name: "Cambodian Riel",
Code: "KHR",
Symbol: "KHR",
}
currencyObject_58 := CurrencyObject{
Name: "Comorian Franc",
Code: "KMF",
Symbol: "CF",
}
currencyObject_59 := CurrencyObject{
Name: "South Korean Won",
Code: "KRW",
Symbol: "₩",
}
currencyObject_60 := CurrencyObject{
Name: "Kuwaiti Dinar",
Code: "KWD",
Symbol: "KD",
}
currencyObject_61 := CurrencyObject{
Name: "Kazakhstani Tenge",
Code: "KZT",
Symbol: "KZT",
}
currencyObject_62 := CurrencyObject{
Name: "Lebanese Pound",
Code: "LBP",
Symbol: "LB£",
}
currencyObject_63 := CurrencyObject{
Name: "Sri Lankan Rupee",
Code: "LKR",
Symbol: "SLRs",
}
currencyObject_64 := CurrencyObject{
Name: "Lithuanian Litas",
Code: "LTL",
Symbol: "Lt",
}
currencyObject_65 := CurrencyObject{
Name: "Latvian Lats",
Code: "LVL",
Symbol: "Ls",
}
currencyObject_66 := CurrencyObject{
Name: "Libyan Dinar",
Code: "LYD",
Symbol: "LD",
}
currencyObject_67 := CurrencyObject{
Name: "Moroccan Dirham",
Code: "MAD",
Symbol: "MAD",
}
currencyObject_68 := CurrencyObject{
Name: "Moldovan Leu",
Code: "MDL",
Symbol: "MDL",
}
currencyObject_69 := CurrencyObject{
Name: "Malagasy Ariary",
Code: "MGA",
Symbol: "MGA",
}
currencyObject_70 := CurrencyObject{
Name: "Macedonian Denar",
Code: "MKD",
Symbol: "MKD",
}
currencyObject_71 := CurrencyObject{
Name: "Myanma Kyat",
Code: "MMK",
Symbol: "MMK",
}
currencyObject_72 := CurrencyObject{
Name: "Macanese Pataca",
Code: "MOP",
Symbol: "MOP$",
}
currencyObject_73 := CurrencyObject{
Name: "Mauritian Rupee",
Code: "MUR",
Symbol: "MURs",
}
currencyObject_74 := CurrencyObject{
Name: "Mexican Peso",
Code: "MXN",
Symbol: "MX$",
}
currencyObject_75 := CurrencyObject{
Name: "Malaysian Ringgit",
Code: "MYR",
Symbol: "RM",
}
currencyObject_76 := CurrencyObject{
Name: "Mozambican Metical",
Code: "MZN",
Symbol: "MTn",
}
currencyObject_77 := CurrencyObject{
Name: "Namibian Dollar",
Code: "NAD",
Symbol: "N$",
}
currencyObject_78 := CurrencyObject{
Name: "Nigerian Naira",
Code: "NGN",
Symbol: "₦",
}
currencyObject_79 := CurrencyObject{
Name: "Nicaraguan Córdoba",
Code: "NIO",
Symbol: "C$",
}
currencyObject_80 := CurrencyObject{
Name: "Norwegian Krone",
Code: "NOK",
Symbol: "Nkr",
}
currencyObject_81 := CurrencyObject{
Name: "Nepalese Rupee",
Code: "NPR",
Symbol: "NPRs",
}
currencyObject_82 := CurrencyObject{
Name: "New Zealand Dollar",
Code: "NZD",
Symbol: "NZ$",
}
currencyObject_83 := CurrencyObject{
Name: "Omani Rial",
Code: "OMR",
Symbol: "OMR",
}
currencyObject_84 := CurrencyObject{
Name: "Panamanian Balboa",
Code: "PAB",
Symbol: "B/",
}
currencyObject_85 := CurrencyObject{
Name: "Peruvian Nuevo Sol",
Code: "PEN",
Symbol: "S/",
}
currencyObject_86 := CurrencyObject{
Name: "Philippine Peso",
Code: "PHP",
Symbol: "₱",
}
currencyObject_87 := CurrencyObject{
Name: "Pakistani Rupee",
Code: "PKR",
Symbol: "PKRs",
}
currencyObject_88 := CurrencyObject{
Name: "Polish Zloty",
Code: "PLN",
Symbol: "zł",
}
currencyObject_89 := CurrencyObject{
Name: "Paraguayan Guarani",
Code: "PYG",
Symbol: "₲",
}
currencyObject_90 := CurrencyObject{
Name: "Qatari Rial",
Code: "QAR",
Symbol: "QR",
}
currencyObject_91 := CurrencyObject{
Name: "Romanian Leu",
Code: "RON",
Symbol: "RON",
}
currencyObject_92 := CurrencyObject{
Name: "Serbian Dinar",
Code: "RSD",
Symbol: "din",
}
currencyObject_93 := CurrencyObject{
Name: "Russian Ruble",
Code: "RUB",
Symbol: "RUB",
}
currencyObject_94 := CurrencyObject{
Name: "Rwandan Franc",
Code: "RWF",
Symbol: "RWF",
}
currencyObject_95 := CurrencyObject{
Name: "Saudi Riyal",
Code: "SAR",
Symbol: "SR",
}
currencyObject_96 := CurrencyObject{
Name: "Sudanese Pound",
Code: "SDG",
Symbol: "SDG",
}
currencyObject_97 := CurrencyObject{
Name: "Swedish Krona",
Code: "SEK",
Symbol: "Skr",
}
currencyObject_98 := CurrencyObject{
Name: "Singapore Dollar",
Code: "SGD",
Symbol: "S$",
}
currencyObject_99 := CurrencyObject{
Name: "Somali Shilling",
Code: "SOS",
Symbol: "Ssh",
}
currencyObject_100 := CurrencyObject{
Name: "Syrian Pound",
Code: "SYP",
Symbol: "SY£",
}
currencyObject_101 := CurrencyObject{
Name: "Thai Baht",
Code: "THB",
Symbol: "฿",
}
currencyObject_102 := CurrencyObject{
Name: "Tunisian Dinar",
Code: "TND",
Symbol: "DT",
}
currencyObject_103 := CurrencyObject{
Name: "Tongan Paʻanga",
Code: "TOP",
Symbol: "T$",
}
currencyObject_104 := CurrencyObject{
Name: "Turkish Lira",
Code: "TRY",
Symbol: "TL",
}
currencyObject_105 := CurrencyObject{
Name: "Trinidad and Tobago Dollar",
Code: "TTD",
Symbol: "TT$",
}
currencyObject_106 := CurrencyObject{
Name: "New Taiwan Dollar",
Code: "TWD",
Symbol: "NT$",
}
currencyObject_107 := CurrencyObject{
Name: "Tanzanian Shilling",
Code: "TZS",
Symbol: "TSh",
}
currencyObject_108 := CurrencyObject{
Name: "Ukrainian Hryvnia",
Code: "UAH",
Symbol: "₴",
}
currencyObject_109 := CurrencyObject{
Name: "Ugandan Shilling",
Code: "UGX",
Symbol: "USh",
}
currencyObject_110 := CurrencyObject{
Name: "Uruguayan Peso",
Code: "UYU",
Symbol: "$U",
}
currencyObject_111 := CurrencyObject{
Name: "Uzbekistan Som",
Code: "UZS",
Symbol: "UZS",
}
currencyObject_112 := CurrencyObject{
Name: "Venezuelan Bolívar",
Code: "VES",
Symbol: "Bs.S.",
}
currencyObject_113 := CurrencyObject{
Name: "Vietnamese Dong",
Code: "VND",
Symbol: "₫",
}
currencyObject_114 := CurrencyObject{
Name: "Central African CFA Franc",
Code: "XAF",
Symbol: "Fr",
}
currencyObject_115 := CurrencyObject{
Name: "West African CFA Franc",
Code: "XOF",
Symbol: "Fr",
}
currencyObject_116 := CurrencyObject{
Name: "Yemeni Rial",
Code: "YER",
Symbol: "YR",
}
currencyObject_117 := CurrencyObject{
Name: "South African Rand",
Code: "ZAR",
Symbol: "R",
}
currencyObject_118 := CurrencyObject{
Name: "Zambian Kwacha",
Code: "ZMK",
Symbol: "ZK",
}
currencyObject_119 := CurrencyObject{
Name: "Zimbabwean Dollar",
Code: "ZWL",
Symbol: "ZWL$",
}
currencyObject_120 := CurrencyObject{
Name: "Ethereum",
Code: "ETH",
Symbol: "ETH",
}
currencyObject_121 := CurrencyObject{
Name: "Cardano",
Code: "ADA",
Symbol: "ADA",
}
currencyObjectsList = []CurrencyObject{currencyObject_1, currencyObject_2, currencyObject_3, currencyObject_4, currencyObject_5, currencyObject_6, currencyObject_7, currencyObject_8, currencyObject_9, currencyObject_10, currencyObject_11, currencyObject_12, currencyObject_13, currencyObject_14, currencyObject_15, currencyObject_16, currencyObject_17, currencyObject_18, currencyObject_19, currencyObject_20, currencyObject_21, currencyObject_22, currencyObject_23, currencyObject_24, currencyObject_25, currencyObject_26, currencyObject_27, currencyObject_28, currencyObject_29, currencyObject_30, currencyObject_31, currencyObject_32, currencyObject_33, currencyObject_34, currencyObject_35, currencyObject_36, currencyObject_37, currencyObject_38, currencyObject_39, currencyObject_40, currencyObject_41, currencyObject_42, currencyObject_43, currencyObject_44, currencyObject_45, currencyObject_46, currencyObject_47, currencyObject_48, currencyObject_49, currencyObject_50, currencyObject_51, currencyObject_52, currencyObject_53, currencyObject_54, currencyObject_55, currencyObject_56, currencyObject_57, currencyObject_58, currencyObject_59, currencyObject_60, currencyObject_61, currencyObject_62, currencyObject_63, currencyObject_64, currencyObject_65, currencyObject_66, currencyObject_67, currencyObject_68, currencyObject_69, currencyObject_70, currencyObject_71, currencyObject_72, currencyObject_73, currencyObject_74, currencyObject_75, currencyObject_76, currencyObject_77, currencyObject_78, currencyObject_79, currencyObject_80, currencyObject_81, currencyObject_82, currencyObject_83, currencyObject_84, currencyObject_85, currencyObject_86, currencyObject_87, currencyObject_88, currencyObject_89, currencyObject_90, currencyObject_91, currencyObject_92, currencyObject_93, currencyObject_94, currencyObject_95, currencyObject_96, currencyObject_97, currencyObject_98, currencyObject_99, currencyObject_100, currencyObject_101, currencyObject_102, currencyObject_103, currencyObject_104, currencyObject_105, currencyObject_106, currencyObject_107, currencyObject_108, currencyObject_109, currencyObject_110, currencyObject_111, currencyObject_112, currencyObject_113, currencyObject_114, currencyObject_115, currencyObject_116, currencyObject_117, currencyObject_118, currencyObject_119, currencyObject_120, currencyObject_121}
}