TomWright/null

Simplify usage of null values when marshalling and scanning values.

View on GitHub ↗Jump to charts ↓

TomWright/null is written in Go and was last pushed on Apr 23, 2019. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 59 seconds ago
Added to GitGenius on September 26th, 2026
Created on December 20th, 2018
Open Issues & Pull Requests: 0 (+0)
GitHub issues: Enabled
Number of forks: 0
Total Stargazers: 0 (+0)
Total Subscribers: 1 (+0)

Repository Insights (GitGenius)

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 package that simplifies handling of nullable values during database scanning and JSON marshalling operations.

The package solves the problem of representing absent or empty values as SQL NULL or JSON null during serialization and deserialization. It provides wrapper structs around standard Go types that track whether a value is present and valid. When marshalling, empty values become null; when scanning or unmarshalling, null values become empty Go zero values. Each wrapper exposes a Valid property to let callers determine whether the underlying value should be trusted.

Developers working with databases or JSON APIs in Go should adopt this tool when they need to distinguish between a missing value and an empty one—for instance, when a database column can be NULL and you need to preserve that distinction rather than collapsing it to an empty string or zero time. The package currently provides null.String and null.Time types, with the README indicating that additional types will be added as needed or requested through pull requests.

The project maintains a steady stream of small, focused commits addressing specific issues and feature requests. Pull requests are reviewed and merged regularly, indicating active maintenance. The codebase remains lightweight and stable, with changes typically confined to adding new nullable type wrappers or fixing edge cases in existing ones.