Golang Utwórz kanał
Zanim będziemy mogli użyć kanału w Go, musimy go utworzyć. Aby utworzyć kanał w Go, możemy użyć funkcji Make, aby utworzyć nowy kanał.
Składnia jest jak pokazana:
Make (Chan Val-Type)Należy pamiętać, że kanał jest wrażliwy na typ danych. Oznacza to, że nie możemy wysłać wartości INT przez kanał ciągu.
Poniższy przykład tworzy kanał, który może obsługiwać tylko typy ciągów:
CH: = Make (CHAN String)Po ogłoszeniu kanału możemy wysyłać i odbierać wartości.
Wysyłanie i odbieranie wartości
Możemy wysyłać i odbierać wartości za pomocą kanału <- operator. An example code is as shown below:
Pakiet MainW poprzednim przykładzie tworzymy podstawową goroutinę, aby wysłać dane do kanału „CH”. Następnie otrzymujemy dane z kanału i wydrukujemy je.
Wysyłanie struktury przez kanał
Możemy również wysłać dane struktury za pomocą kanału, pod warunkiem, że utworzymy kanał o właściwym typie.
Rozważ następujący przykład kodu:
Pakiet MainJeśli uruchomimy poprzedni kod, powinien wydrukować imię otrzymane przez struktura wysłane przez kanał.
Kanały jednokierunkowe
Jak wspomniano, kanały Go są domyślnie dwukierunkowe. Możemy jednak zdefiniować kanał, aby mógł wysyłać lub odbierać wartości, ale nie jedno. Jest to znane jako kanał jednokierunkowy.
Składnia jest jak pokazana:
CH: = Make (Chan<- data_type) // send-only channelZwróć uwagę na pozycję operatora kanału w poprzedniej składni.
Poniższy przykład tworzy kanał tylko wysyłania:
Pakiet MainZwróć uwagę, że poprzedni kanał jest ustawiony na wysyłanie tylko. Staramy się jednak odbierać przez kanał, a kompilator zwraca błąd, jak pokazano:
Nieprawidłowa operacja: <-ch (receive z Wysyłanie tylko typu chan<- string)
Kanały zamykające
Możemy zamknąć kanał po wysłaniu wymaganych wartości. W tym celu używamy funkcji zamykania. Bierze nazwę kanału. Następnie zamyka kanał i zwraca wartość logiczną, której można użyć, aby sprawdzić, czy kanał jest zamknięty.
Przykład jest pokazany poniżej:
Pakiet MainPoprzedni przykład zamyka kanał za pomocą metody Close (). Następnie używamy wartości logicznej zwróconej z funkcji, aby sprawdzić, czy kanał jest zamknięty.
Wniosek
Ten przewodnik przechodzi przez sposób pracy z kanałami w języku programowania Go. Omówiono proces tworzenia kanału, wysyłania i odbierania wartości, wysyłania danych struktur. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły w Linux, aby uzyskać więcej wskazówek i informacji.