Pytania oznaczone «go-reflect»

387
Jak znaleźć typ obiektu w Go?

Jak znaleźć typ obiektu w Go? W Pythonie po prostu używam typeofdo pobierania typu obiektu. Podobnie w Go, czy istnieje sposób na wdrożenie tego samego? Oto kontener, z którego iteruję: for e := dlist.Front(); e != nil; e = e.Next() { lines := e.Value fmt.Printf(reflect.TypeOf(lines)) } W tym...

194
Wpisz konwertujące plastry interfejsów

Jestem ciekaw dlaczego Go does't niejawnie przekonwertować []Tdo []interface{}kiedy będzie niejawnie konwertować Tdo interface{}. Czy w tej konwersji brakuje czegoś nietrywialnego? Przykład: func foo([]interface{}) { /* do something */ } func main() { var a []string = []string{"hello",...

108
Iteruj przez pola struktury w Go

Zasadniczo jedyny sposób (jaki znam) na iterację wartości pól a structjest taki: type Example struct { a_number uint32 a_string string } //... r := &Example{(2 << 31) - 1, "...."}: for _, d:= range []interface{}{ r.a_number, r.a_string, } { //do something with the...

101
Jak uzyskać nazwę funkcji w Go?

Czy w przypadku danej funkcji można uzyskać jej nazwę? Mówić: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } Powiedziano mi, że runtime.FuncForPC może pomóc, ale nie rozumiałem, jak go...