El lenguaje Go proporciona una implementación de soporte incorporada de la reflexión en tiempo de ejecución y permite que un programa manipule objetos con tipos arbitrarios con la ayuda del paquete reflect. La función reflect.TypeOf() en Golang se usa para obtener el tipo de reflexión que representa el tipo dinámico de i. Para acceder a esta función, es necesario importar el paquete reflect en el programa.
Sintaxis:
func TypeOf(i interface{}) TypeParámetros: esta función toma solo un parámetro de la interfaz (i).
Valor de retorno: esta función devuelve el tipo de reflexión.
Los siguientes ejemplos ilustran el uso del método anterior en Golang:
Ejemplo 1:
// Golang program to illustrate // reflect.TypeOf() Function package main import ( "fmt" "reflect" ) // Main function func main() { tst1 := "string" tst2 := 10 tst3 := 1.2 tst4 := true tst5 := []string{"foo", "bar", "baz"} tst6 := map[string]int{"apple": 23, "tomato": 13} // use of TypeOf method fmt.Println(reflect.TypeOf(tst1)) fmt.Println(reflect.TypeOf(tst2)) fmt.Println(reflect.TypeOf(tst3)) fmt.Println(reflect.TypeOf(tst4)) fmt.Println(reflect.TypeOf(tst5)) fmt.Println(reflect.TypeOf(tst6)) }
Producción:
string int float64 bool []string map[string]int
Ejemplo 2:
// Golang program to illustrate // reflect.TypeOf() Function package main import ( "fmt" "io" "os" "reflect" ) // Main function func main() { // use of TypeOf method tt := reflect.TypeOf((*io.Writer)(nil)).Elem() fileType := reflect.TypeOf((*os.File)(nil)) fmt.Println(fileType.Implements(tt)) }
Producción:
true
Publicación traducida automáticamente
Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA