aarondl/null

reasonable handling of nullable values

View on GitHub ↗Jump to charts ↓

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 31 minutes ago
Added to GitGenius on September 26th, 2026
Created on May 17th, 2016
Open Issues & Pull Requests: 3 (+0)
GitHub issues: Enabled
Number of forks: 37
Total Stargazers: 88 (+0)
Total Subscribers: 4 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.0 hours
Mean response time: 0.0 hours
90th percentile: 0.0 hours
Tracked items: 1

Most active contributors

Sign in to see contributor activity.
Sign in

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

null is a Go library that provides reasonable handling of nullable values for SQL and JSON operations.

The library solves the problem of working with nullable database and JSON values by offering type-safe wrappers around Go's primitive types. Each wrapper type implements the necessary interfaces for database operations and JSON marshaling, distinguishing between truly null values and empty or zero values. Types only marshal to JSON null when they represent actual null input, and all types implement sql.Scanner and driver.Valuer so they can be used as drop-in replacements for Go's built-in sql.NullXXX types.

The tool suits projects that need to distinguish between null and empty values when working with databases and JSON APIs. It provides nullable versions of standard Go types including strings, integers, floats, booleans, bytes, and time.Time. Developers should be aware that the library has a known limitation with JSON's omitempty struct tag, which will not correctly omit null or empty strings. The project migrated from gopkg.in versioning to Go modules, so users upgrading to version 8 and beyond should update their import paths accordingly.

Development activity shows consistent maintenance with attention to test coverage and documentation through GoDoc integration. The project maintains implementations across a comprehensive set of nullable type variants, suggesting deliberate scope management rather than feature sprawl.