go get -u github.com/tomwright/null
Easily scan/marshal between standard types and null values.
The null package provides a set of structs that can be used as both scan and marshal sources and destinations, with the sole exception being that an empty value will be marshal'd to a value of null, and a null value will be unmarshal'd to an empty value.
The following types are available:
Each struct within the package has a property or func named Valid. Valid will be true if the provided value was present and not empty.
When retrieving a value from the struct, a null should be used whenever Valid is false.
Additional types will be added/maintained as needed or as requested. Feel free to submit any pull request you find useful or necessary.