go-sqlite3 is a SQLite driver for Go that conforms to the built-in database/sql interface.
The tool solves the problem of accessing SQLite databases from Go applications by providing a cgo-based driver that implements the standard database/sql API. It wraps the SQLite C library, allowing developers to use familiar Go database patterns while leveraging SQLite's capabilities. The driver supports connection strings with configurable DSN options that can be appended to the database filename, enabling fine-grained control over connection behavior and database features.
Developers should choose this driver if they need SQLite support in Go applications and are comfortable with cgo dependencies. The project suits applications ranging from simple file-based databases to more complex deployments, including Android and ARM platforms. The tool requires a gcc compiler and CGO_ENABLED=1 to build, which may present constraints in certain environments. The README indicates the stable version is v1.14 or later, not v2, and the project supports multiple Go versions according to its release policy.
The project maintains active engagement with its codebase through regular updates and cross-platform testing via CI workflows. Development activity spans multiple compilation targets including Linux distributions, macOS, Windows, and embedded platforms. The tool includes support for advanced features such as user authentication with password-protected databases, attached databases, and extensions like Spatialite for spatial data handling. Documentation is comprehensive, with API references, examples, and detailed compilation instructions for various platforms and scenarios.