Update README.md

This commit is contained in:
Fatih Arslan 2014-08-03 22:23:08 +03:00
parent a1706cf168
commit 0bde053c03
2 changed files with 20 additions and 7 deletions

View File

@ -1,6 +1,10 @@
# Structure [![GoDoc](https://godoc.org/github.com/fatih/structure?status.svg)](http://godoc.org/github.com/fatih/structure) [![Build Status](https://travis-ci.org/fatih/structure.svg)](https://travis-ci.org/fatih/structure) # Structure [![GoDoc](https://godoc.org/github.com/fatih/structure?status.svg)](http://godoc.org/github.com/fatih/structure) [![Build Status](https://travis-ci.org/fatih/structure.svg)](https://travis-ci.org/fatih/structure)
Structure contains various utilities to work with Go (Golang) structs. Structure contains various utilities to work with Go (Golang) structs. It was
initially used by me to convert a struct into a `map[string]interface{}`. With
time I've added other high level functions for structs. It's basically a high
level package based on primitives from the reflect package. Feel free to add
new high level functions or improve the existing code.
## Install ## Install
@ -32,11 +36,11 @@ s := &Server{
m := structure.Map(s) m := structure.Map(s)
// Convert the values of a struct to a []interface{} // Convert the values of a struct to a []interface{}
// => [true, 123456, "gopher"] // => [123456, "gopher", true]
v := structure.Values(s) v := structure.Values(s)
// Convert the fields of a struct to a []string. // Convert the fields of a struct to a []string.
// => ["Enabled", "ID", "Name"] // => ["Name", "ID", "Enabled"]
f := structure.Fields(s) f := structure.Fields(s)
// Return the struct name // Return the struct name
@ -45,7 +49,7 @@ n := structure.Name(s)
// Check if field name exists // Check if field name exists
// => true // => true
n := structure.Has(s, "Enabled") h := structure.Has(s, "Enabled")
// Check if the fields of a struct is initialized or not. // Check if the fields of a struct is initialized or not.
if !structure.IsZero(s) { if !structure.IsZero(s) {
@ -59,3 +63,12 @@ if structure.IsStruct(s) {
``` ```
## Credits
* [Fatih Arslan](https://github.com/fatih)
## License
The MIT License (MIT) - see LICENSE.md for more details

View File

@ -80,9 +80,9 @@ func Values(s interface{}) []interface{} {
} }
// IsZero returns true if any field in a struct is not initialized (zero // IsZero returns true if any field in a struct is not initialized and has the
// value). A struct tag with the content of "-" ignores the checking of that // zero default value. A struct tag with the content of "-" ignores the checking
// particular field. Example: // of that particular field. Example:
// //
// // Field is ignored by this package. // // Field is ignored by this package.
// Field bool `structure:"-"` // Field bool `structure:"-"`