Función reflect.MakeChan() en Golang con ejemplos

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.MakeChan() en Golang se usa para crear un nuevo canal con el tipo y el tamaño de búfer especificados. Para acceder a esta función, es necesario importar el paquete reflect en el programa.

Sintaxis:

func MakeChan(typ Type, buffer int) Value

Parámetros: esta función toma solo dos parámetros de tipo Type (typ) y tipo int (buffer).

Valor de retorno: esta función devuelve el canal recién creado.

Los siguientes ejemplos ilustran el uso del método anterior en Golang:

Ejemplo 1:

// Golang program to illustrate
// reflect.MakeChan() Function
  
package main
  
import (
    "fmt"
    "reflect"
)
  
// Main function
func main() {
  
    var val chan int
  
     // create new channel
     value := reflect.MakeChan(reflect.Indirect(reflect.ValueOf(&val)).Type(), 0)
  
     fmt.Println("Value :", value)
}

Producción:

Value : 0xc00005e060

Ejemplo 2:

// Golang program to illustrate
// reflect.MakeChan() Function
  
package main
  
import (
    "fmt"
    "reflect"
)
  
// Main function
func main() {
  
    var val chan string 
  
     var strVal reflect.Value = reflect.ValueOf(&val)
  
     indirectStr := reflect.Indirect(strVal)
  
     // create new channel
     value := reflect.MakeChan(indirectStr.Type(), 1024)
  
     fmt.Printf("Type : [%v] \nCapacity : [%v]", value.Kind(), value.Cap())
}

Producción:

Type : [chan] 
Capacity : [1024]

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *