A comprehensive, high-performance Go library for country and currency data with ISO, ITU, IANA, and UN standards support.
Countries is a Go library that provides comprehensive, standardized country and currency data for software applications. It solves the problem of fragmented international data by integrating multiple ISO, ITU, IANA, and UN standards into a single, high-performance package.
Go developers building applications that require internationalization, localization, or country/currency data, such as e-commerce platforms, travel services, financial systems, or global user management.
Developers choose Countries for its extensive standard compliance, exceptional performance, and zero dependencies, making it a reliable and efficient alternative to manually managing multiple data sources or using heavier libraries.
Countries - ISO-639, ISO-3166 countries codes with subdivisions and names, ISO-4217 currency designators, ITU-T E.164 IDD phone codes, countries capitals, UN M.49 codes, IANA ccTLD countries domains, FIPS, IOC/NOC and FIFA codes, VERY VERY FAST, compatible with Databases/JSON/BSON/GOB/XML/CSV, Emoji countries flags and currencies, Unicode CLDR.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The library is optimized for speed with no maps, slices, or init functions, as emphasized in the README, ensuring fast data access without external dependencies.
Integrates ISO, ITU, IANA, and UN standards into a single package, providing codes, subdivisions, phone codes, and more, eliminating the need for multiple data sources.
Has no external dependencies, reducing project bloat and simplifying integration, which is highlighted as a key philosophy in the README.
Works seamlessly with JSON, BSON, GOB, XML, CSV, and ORMs like GORM, as shown in the usage example for storing country and currency data.
Only provides country names in English and Russian, which may not suffice for global applications requiring localization in other languages.
Data relies on periodic ISO standard updates, and the README's TODO for go generate capability indicates a lack of automated, real-time data synchronization.
The extensive feature set, including emoji flags and multiple standards, might introduce unnecessary complexity for projects needing only simple country lists.