astaphobia
7/26/2018 - 2:03 PM

go get keys and values of struct

go get keys and values of struct

package main

import (
	"fmt"
	"reflect"
)

type Data struct {
	ID   int
	Name string
}

func main() {
	var (
		columns []string
		values  []interface{}
	)
	data := Data{ID: 1, Name: "bdg"}
	v := reflect.ValueOf(data)
	typeData := v.Type()
	for i := 0; i < v.NumField(); i++ {
		columns = append(columns, typeData.Field(i).Name)
		values = append(values, v.Field(i).Interface())
	}
	fmt.Println(columns, values)
	//fmt.Println(v.NumField())
}