Structure

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: "Arslan",
ID: 123456,
Enabled: true,
}
Map()
Convert a struct to a map[string]interface{}
m := structure.Map(s)
// prints: {"Name":"Arslan", "ID":123456, "Enabled":true}
fmt.Printf("%#v", m)
Values()
Convert the values of a struct to a []interface{}. Slice values are
sorted by default according to the field names.
m := structure.Values(s)
// prints: [true, 123456, "Arslan"]
fmt.Printf("%#v", m)
Fields()
Convert the fields of a struct to a []string. Slice values are sorted by
default according to the field names.
m := structure.Fields(s)
// prints: ["Enabled", "ID", "Name"]
fmt.Printf("%#v", m)
IsStruct()
Check if it's a struct or a pointer to struct
if structure.IsStruct(s) {
fmt.Println("s is a struct")
}
Languages
Go
100%