github.com/fakecore/gsrf

go struct reflection operation


License
MIT
Install
go get github.com/fakecore/gsrf

Documentation

gsrf

go struct reflection operation

Introduce

It's a refection operation library, it focuses on providing simple and easy way to get reflection.

Example

type CallBase interface {
Hi()
}

type FA struct {
}

func (f *FA) Hi() {
fmt.Println("hi from FA")
}

type FB struct {
}

func (f *FB) Hi() {
fmt.Println("hi from FB")
}

type NB struct {
}

func (f *NB) Hi(s string, e string, ddd int, sd int) {
fmt.Println("hi from NB")
}

type FinalExec struct {
Fa CallBase
Fb CallBase
}

func TestExecMemberVariableMethod(t *testing.T) {
	plist := GetStructPropertyListWithType(FinalExec{}, 	"CallBase")
	var finalExec = FinalExec{}
	finalExec.Fa = &FA{}
	finalExec.Fb = &FB{}
	var f NB
	ers := ExecMethod(&f, "Hi", "dd")
	if ers != nil {
		t.Error(ers)
	}
	for _, c := range plist {
		err := ExecMethod(GetInstanceFromFiledName(finalExec, c), 		"Hi")
		if err != nil {
			t.Error(err)
		}
	}
}

License

​ MIT License

Contribute