Als «go-reflect» getaggte Fragen

387
Wie finde ich den Typ eines Objekts in Go?

Wie finde ich den Typ eines Objekts in Go? In Python rufe ich nur typeofden Objekttyp ab. Gibt es in Go eine Möglichkeit, dasselbe zu implementieren? Hier ist der Container, aus dem ich iteriere: for e := dlist.Front(); e != nil; e = e.Next() { lines := e.Value

107
Durchlaufen Sie die Felder einer Struktur in Go

Grundsätzlich ist die einzige Möglichkeit (die ich kenne), die Werte der Felder von a zu durchlaufen, structwie folgt: 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...

101
Wie erhalte ich den Namen einer Funktion in Go?

Ist es bei einer gegebenen Funktion möglich, ihren Namen zu erhalten? Sagen: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } Mir wurde gesagt, dass runtime.FuncForPC helfen würde, aber...

75
Greifen Sie über den Namen auf die struct-Eigenschaft zu

Hier ist ein einfaches Go-Programm, das nicht funktioniert: 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, property string) (string) { return v[property] } Error: prog.go: 18:...