Junior — Middle
Pouvez-vous énumérer les principales propriétés et paramètres des canaux de communication?
sobes.tech IA
Réponse de l'IA
En Go, les canaux sont un moyen de transmettre des données entre goroutines, assurant synchronisation et communication. Les propriétés et paramètres principaux des canaux :
- Type de données : le canal transmet des valeurs d’un type spécifique, par exemple
chan intpour des entiers. - Bufferisation : les canaux peuvent être tamponnés ou non tamponnés. Un canal non tamponné bloque l’expéditeur jusqu’à ce que le récepteur lise la valeur. Un canal tamponné a une capacité, permettant d’envoyer plusieurs valeurs sans blocage.
- Orientation : un canal peut être bidirectionnel (
chan T), ou unidirectionnel — uniquement pour l’envoi (chan<- T) ou uniquement pour la réception (<-chan T).
Exemple de création d’un canal tamponné :
ch := make(chan int, 5) // canal avec tampon de 5 éléments