go-reflect

    0热度

    1回答

    下面的代码片段 - type Gateway struct { Svc1 svc1.Interface Svc2 svc2.Interface } func (g *Gateway) GetClient(service string) interface{} { ps := reflect.ValueOf(g) s := ps.Elem()

    -1热度

    2回答

    我有一个名为Keys()拿到地图的所有键的功能,这里是代码: func main() { m2 := map[int]interface{}{ 2:"string", 3:"int", } fmt.Println(Keys(m2)) } func Keys(m map[interface{}]interface{}) (keys []int

    3热度

    3回答

    比方说,我想写的是在切片 我直觉想写找到一个值的函数: func find(s []interface{}, f func(interface{})bool) int { for i, item := range s { if f(item) { return i } } return -1 } 但我不管理与去做到这一点。我

    5热度

    2回答

    一直有我的代码的最后一个问题涉及在包反映的.CALL功能。 所以我在打电话像这样: params := "some map[string][]string" in := make([]reflect.Value,0) return_values := reflect.ValueOf(&controller_ref).MethodByName(action_name).Call(in) 在那

    0热度

    2回答

    我有两个结构: type A struct { BankCode string `json:"bankCode"` BankName string `json:"bankName"` } 和: type B struct { A extra string `json:" extra"` } 两片: listsA []A和listsB

    38热度

    2回答

    这里是不工作的简单围棋程序: package main import "fmt" type Vertex struct { X int Y int } func main() { v := Vertex{1, 2} fmt.Println(getProperty(&v, "X")) } func getProperty(v *Vertex,

    2热度

    1回答

    我最近一直在写一些审计过程。大多数这只是反射拆分任意构造。存在可用于对象相等的接口。并非所有被撕开的东西都实现了这个接口,并且比较可以在任意类型之间(对象相等并不意味着类型相同)。 由于被比较的东西不需要是相同的类型,所以有些东西是一边是指针而另一边是值(* string vs string或* ChickenBox vs BoxOfChicken)。当我遇到它时,我只是简单地解引用指针/接口的值

    0热度

    2回答

    我试图从reflect.Type创建切片。这是我迄今为止所拥有的。 package main import ( "fmt" "reflect" ) type TestStruct struct { TestStr string } func main() { elemType := reflect.TypeOf(TestStruct{})

    2热度

    1回答

    我使用反射在go,我注意到以下表示古怪: package main import ( "log" "reflect" ) type Foo struct { a int b int } func main() { t := reflect.TypeOf(Foo{}) log.Println(t) // main.

    5热度

    2回答

    在Go中,我想要做这样的事情。我有一个有很多结构的大对象(使用Google的protobuf)。这里是一个人为的例子: person.name = "testing" person.address.street = "123 test st" person.address.city = "tester" person.address.zip = 90210 person.billing.a