https://github.com/fdv/go-nullify
A simple go package to manage null values returned by the SQL driver
https://github.com/fdv/go-nullify
Last synced: 8 months ago
JSON representation
A simple go package to manage null values returned by the SQL driver
- Host: GitHub
- URL: https://github.com/fdv/go-nullify
- Owner: fdv
- License: mit
- Created: 2019-07-07T17:19:56.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-11-28T09:01:32.000Z (over 6 years ago)
- Last Synced: 2025-10-09T05:06:48.551Z (9 months ago)
- Language: Go
- Size: 24.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Nullify for Golang
Nullify is a simple go package to manage null values returned by the SQL driver when building a JSON API.
It is composed of 2 parts:
- data type wrappers for the SQL driver null types
- JSON marshalling methods for null elements
Example:
```go
package main
import(
"database/sql"
"fmt"
"log"
"net/http"
// Default driver is MySQL
_ "github.com/go-sql-driver/mysql"
)
var db *sql.DB
type Employee struct {
name NullString `json:"name"`
age NullInt64 `json:"age"`
active NullBool `json:"active"`
}
func fatal(err error) {
if ! err.nil {
log.Fatal(err)
}
}
func main() {
var err error
var employees []employee
db, err := sql.Open("mysql", "user:password@127.0.0.1/database")
fatal(err)
db.Ping()
fatal(err)
result, err := db.Query("SELECT * from employees")
fatal(err)
for result.Next() {
var employee Employee
err = result.Scan(&employee.name, &employee.age, &employee.active)
fatal(err)
employees = append(employees, employee)
}
defer result.Close()
fmt.PrintLn(json.Marshal(employees))
}
```