Preguntas etiquetadas con go-reflect

387
¿Cómo encontrar el tipo de un objeto en Go?

¿Cómo encuentro el tipo de un objeto en Go? En Python, solo uso typeofpara buscar el tipo de objeto. Del mismo modo, en Go, ¿hay alguna manera de implementar lo mismo? Aquí está el contenedor desde el que estoy iterando: for e := dlist.Front(); e != nil; e = e.Next() { lines := e.Value...

194
Escriba segmentos de conversión de interfaces

Tengo curiosidad por qué Go no se convierte implícitamente []Ta []interface{}cuándo se convertirá implícitamente Ta interface{}. ¿Hay algo no trivial en esta conversión que me estoy perdiendo? Ejemplo: func foo([]interface{}) { /* do something */ } func main() { var a []string =...

107
Iterar a través de los campos de una estructura en Go

Básicamente, la única forma (que yo sepa) de iterar a través de los valores de los campos de a structes así: 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...

101
¿Cómo obtener el nombre de una función en Go?

Dada una función, ¿es posible obtener su nombre? Decir: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } Me dijeron que runtime.FuncForPC ayudaría, pero no entendí cómo...