About this project

go-sqlite3 is a CGO-based SQLite3 driver for the Go programming language. It provides a bridge between Go's standard database/sql interface and the SQLite3 engine, allowing developers to integrate SQLite databases into their Go applications. Key characteristics and capabilities include: - **CGO Dependency**: As a CGO package, it requires a GCC compiler and the environment variable `CGO_ENABLED=1` to be set for compilation. - **DSN Configuration**: Supports extensive Data Source Name (DSN) options to configure database behavior, including journal modes, locking modes, synchronous settings, and cache sizes. - **Build-time Extensions**: Offers a wide array of optional SQLite features that can be enabled via Go build tags, such as: - Full Text Search (fts5) - JSON SQL functions - Math functions - ICU (International Components for Unicode) - Virtual Tables and DBSTAT - Secure Delete - **Cross-Platform Support**: Provides compilation guidance for Linux (including Alpine, Fedora, and Ubuntu), macOS (x86 and ARM), Windows, and Android. - **User Authentication**: Includes a (now deprecated) module for user authentication and management within the database.