A Go library implementing check digit algorithms (Luhn, Verhoeff, Damm) and calculators for ISBN, EAN, JAN, UPC, and other standards.
checkdigit is a Go library that implements various check digit algorithms and calculators for validating and generating check digits. It solves the problem of ensuring data integrity in systems that handle standardized numbers like ISBNs, barcodes, and product codes by providing reliable, ready-to-use implementations.
Go developers building applications that require validation of identification numbers, barcodes, ISBNs, or other product codes, such as e-commerce systems, inventory management, or library software.
Developers choose checkdigit because it offers a comprehensive, well-tested collection of check digit algorithms in a single, lightweight Go library, saving time and reducing errors compared to custom implementations.
Provide check digit algorithms and calculators written in Go
Implements Luhn, Verhoeff, and Damm algorithms, covering common error-detection needs from credit cards to secure decimal checks, as listed in the README.
Includes calculators for ISBN-10, ISBN-13, EAN, JAN, ITF, UPC, and SSCC, making it versatile for product and identification code validation, as detailed in the provided methods.
Backed by continuous integration (CI badge), high test coverage (codecov badge), and a good Go Report Card, ensuring reliability and minimal bugs.
GoDoc provides clear examples for usage, allowing developers to quickly implement check digit functionality without extensive trial and error.
Only applicable for Go projects, limiting its use in polyglot environments or for teams using other programming languages.
The README is brief and relies heavily on external godoc for examples, which may lack detailed tutorials or edge-case explanations.
Focuses on standard algorithms; adding non-standard or proprietary check digit methods requires significant customization or forking the library.
:100:Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
[Go] Package of validators and sanitizers for strings, numerics, slices and structs
An idiomatic Go (golang) validation package. Supports configurable and extensible validation rules (validators) using normal language constructs instead of error-prone struct tags.
Validate Golang request data with simple rules. Highly inspired by Laravel's request validation.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.