Sobes.tech
Junior — Middle

¿Puedes enumerar las principales propiedades y parámetros de los canales de comunicación?

sobes.tech AI

Respuesta de la IA

En Go, los canales son un medio para transmitir datos entre goroutines, proporcionando sincronización y comunicación. Las propiedades y parámetros principales de los canales:

  • Tipo de datos: el canal transmite valores de un tipo determinado, por ejemplo, chan int para enteros.
  • Bufferización: los canales pueden ser con o sin buffer. Un canal sin buffer bloquea al emisor hasta que el receptor lea el valor. Un canal con buffer tiene capacidad, permitiendo enviar varios valores sin bloqueo.
  • Direccionalidad: un canal puede ser bidireccional (chan T), o unidireccional — solo para enviar (chan<- T) o solo para recibir (<-chan T).

Ejemplo de creación de un canal con buffer:

ch := make(chan int, 5) // canal con buffer de 5 elementos