Golang Créer un canal
Avant de pouvoir utiliser un canal en Go, nous devons en créer un. Pour créer un canal en Go, nous pouvons utiliser la fonction de fabrication pour créer un nouveau canal.
La syntaxe est comme indiqué:
Make (Chan Val-Type)Gardez à l'esprit qu'un canal est sensible au type de données. Cela signifie que nous ne pouvons pas envoyer de valeur int via un canal de chaîne.
L'exemple suivant crée un canal qui ne peut prendre en charge que les types de chaînes:
ch: = make (chan string)Une fois que nous avons déclaré un canal, nous pouvons envoyer et recevoir des valeurs.
Envoi et réception de valeurs
Nous pouvons envoyer et recevoir des valeurs en utilisant le canal <- operator. An example code is as shown below:
package principalDans l'exemple précédent, nous créons un goroutine de base pour envoyer les données au canal "CH". Nous recevons ensuite les données du canal et les imprimons.
Envoi de structure via le canal
Nous pouvons également envoyer des données de structure via un canal, à condition que nous créons le canal avec le type correct.
Considérez l'exemple de code suivant:
package principalSi nous exécutons le code précédent, il devrait imprimer le prénom tel que reçu par la structure envoyée via le canal.
Canaux unidirectionnels
Comme mentionné, les canaux GO sont bidirectionnels par défaut. Cependant, nous pouvons définir un canal afin qu'il puisse envoyer ou recevoir des valeurs mais pas les deux. Ceci est connu comme un canal unidirectionnel.
La syntaxe est comme indiqué:
ch: = make (chan<- data_type) // send-only channelRemarquez la position de l'opérateur de canal dans la syntaxe précédente.
L'exemple suivant crée un canal d'envoi uniquement:
package principalRemarque La chaîne précédente est définie pour envoyer uniquement. Cependant, nous essayons de recevoir via le canal et le compilateur renvoie une erreur comme indiqué:
opération invalide: <-ch (receive depuis Type d'envoi uniquement chan<- string)
Canaux de clôture
Nous pouvons fermer un canal après l'envoi des valeurs requises. Pour cela, nous utilisons la fonction rapprochée. Il prend le nom du canal. Il ferme ensuite le canal et renvoie une valeur booléenne que vous pouvez utiliser pour vérifier si le canal est fermé.
Un exemple est indiqué ci-dessous:
package principalL'exemple précédent ferme le canal à l'aide de la méthode close (). Nous utilisons ensuite la valeur booléenne renvoyée de la fonction pour vérifier si le canal est fermé.
Conclusion
Ce guide vous guide sur la façon de travailler avec les canaux dans le langage de programmation Go. Le processus de création d'un canal, d'envoi et de réception de valeurs, d'envoi de données de structure via un canal, expliquant les canaux unidirectionnels et la fermeture des canaux a été discuté. Nous espérons que vous avez trouvé cet article utile. Découvrez les autres articles sur les conseils pour plus de conseils et d'informations.