Skip to content

Instantly share code, notes, and snippets.

@bkrukowski
Forked from ahmdrz/dump.go
Created November 14, 2019 12:20
Show Gist options
  • Save bkrukowski/d16f2d9bf4ca33f13326009abbfc353d to your computer and use it in GitHub Desktop.
Save bkrukowski/d16f2d9bf4ca33f13326009abbfc353d to your computer and use it in GitHub Desktop.
Golang Reflection Example of an array.
package main
import (
"fmt"
"reflect"
)
type Test struct {
Name string
}
func main() {
result := []Test{
Test{Name: "ahmad"},
Test{Name: "reza"},
}
dump(result)
}
func dump(datasets interface{}) {
items := reflect.ValueOf(datasets)
if items.Kind() == reflect.Slice {
for i := 0; i < items.Len(); i++ {
item := items.Index(i)
if item.Kind() == reflect.Struct {
v := reflect.Indirect(item)
for j := 0; j < v.NumField(); j++ {
fmt.Println(v.Type().Field(j).Name, v.Field(j).Interface())
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment