structs/README.md
2014-07-29 23:38:57 +03:00

1.1 KiB

Structure GoDoc Build Status

Structure contains various utilitis to work with Go (Golang) structs.

Install

go get github.com/fatih/structure

Usage and Examples

Lets define and declare a struct

type Server struct {
	Name    string
	ID      int32
	Enabled bool
}

s := &Server{
	Name:    "gopher",
	ID:      123456,
	Enabled: true,
}
// Convert a struct to a map[string]interface{}
// => {"Name":"gopher", "ID":123456, "Enabled":true}
m := structure.Map(s)

// Convert the values of a struct to a []interface{}
// => [true, 123456, "gopher"]
v := structure.Values(s)

// Convert the fields of a struct to a []string. 
// => ["Enabled", "ID", "Name"]
f := structure.Fields(s)

// Check if the fields of a struct is initialized or not.
if structure.IsValid(s) {
    fmt.Println("s is initialized")
}

// Check if it's a struct or a pointer to struct
if structure.IsStruct(s) {
    fmt.Println("s is a struct")
}