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 de reflexión. La función reflect.Call() en Golang se usa para llamar a la función v con los argumentos de entrada. Para acceder a esta función, es necesario importar el paquete reflect en el programa.
Sintaxis:
func (v Value) Call(in []Value) []ValueParámetros: Esta función toma los siguientes parámetros:
- in : Este parámetro es del tipo []Valor.
Valor de retorno: esta función devuelve los resultados de salida como valores.
Los siguientes ejemplos ilustran el uso del método anterior en Golang:
Ejemplo 1:
// Golang program to illustrate // reflect.Call() Function package main import "fmt" import "reflect" type T struct {} func (t *T) Geeks() { fmt.Println("GeekforGeeks") } func main() { var t T // use of Call() method val := reflect.ValueOf(&t).MethodByName("Geeks").Call([]reflect.Value{}) fmt.Println(val) }
Producción:
GeekforGeeks []
Ejemplo 2:
// Golang program to illustrate // reflect.Call() Function package main import "fmt" import "reflect" type T struct {} func (t *T) Geeks() { fmt.Println("GeekforGeeks") } func (t *T) Geeks1() { fmt.Println("Golang Package :") fmt.Println("reflect") fmt.Println("Call() Function") } func main() { var t T var t1 T // use of Call() method reflect.ValueOf(&t).MethodByName("Geeks").Call([]reflect.Value{}) reflect.ValueOf(&t1).MethodByName("Geeks1").Call([]reflect.Value{}) }
Producción:
GeekforGeeks Golang Package : reflect Call() Function
Publicación traducida automáticamente
Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA