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