Przypadki, o których należy pamiętać podczas korzystania z poleceń wyboru w języku Golang

W języku Go polecenie SELECT jest podobne do polecenia switch , ale w poleceniu SELECT polecenie case odnosi się do komunikacji, tj. wysyłania lub odbierania operacji na kanale.

Przypadki, o których należy pamiętać podczas korzystania z poleceń wyboru w języku Golang

Składnia:

select{

case SendOrReceive1: // Lệnh
case SendOrReceive2: // Lệnh
case SendOrReceive3: // Lệnh
.......
default: // Lệnh

W tym artykule dowiesz się, jak używać domyślnego przypadku, aby uniknąć impasu. Ale najpierw sprawdźmy, jaki jest przypadek impasu podczas korzystania z polecenia select w języku Go ?

Rzeczy, które należy wiedzieć o przypadku impasu w Golang

Blokada: sytuacja, w której próbujesz odczytać lub zapisać dane z kanału, ale kanał jest pusty. Blokuje więc bieżące wykonywanie gorutyny i przekazuje kontrolę innym gorutynom, ale jeśli żadna inna gorutyna nie jest dostępna lub inne gorutyny są w stanie spoczynku z powodu tej sytuacji, program ulegnie awarii. Zjawisko to nazywane jest impasiem. Jak pokazano w poniższym przykładzie:

Na przykład:

// Chương trình Go minh hoạc
// cách deadlock phát sinh
package main 

// Hàm chính
func main() { 

	// Tạo một kênh
	// Deadlock phát sinh bởi
	// không có goroutine đang viết
	// vào kênh này, vì thế
	// lệnh select đã bị khóa mãi mãi
	c := make(chan int) 
	select { 
	case <-c: }="" }="">

Wynik:

fatal error: all goroutines are asleep - deadlock!

goroutine 1 [chan receive]:
main.main()

Aby uniknąć tej sytuacji, w poleceniu SELECT stosujemy przypadek domyślny. Innymi słowy, gdy w programie wystąpi impas, wykonywany jest domyślny przypadek polecenia SELECT, aby uniknąć impasu. Podobnie jak w poniższym przykładzie, w poleceniu SELECT używamy przypadku domyślnego, aby uniknąć impasu.

Na przykład:

// Chương trình Go minh họa cách giải quyết
// vấn đề deadlock bằng case mặc định
package main 

import "fmt"

// Hàm chính
func main() { 

	// Tạo 1 kênh
	c := make(chan int) 
	select { 
	case <-c: default:="" fmt.println("!..="" default="" case..!")="" }="" }="">

Wynik:

!.. Default case..!

Można również użyć przypadku domyślnego, gdy polecenie SELECT ma tylko kanał nil . Jak pokazano w poniższym przykładzie, kanał c jest pusty, więc jeśli domyślny przypadek nie jest dostępny, wykonywany jest przypadek domyślny, program zostanie zablokowany na zawsze i nastąpi impas.

Na przykład:

// Chương trình Go minh họa
// chạy case mặc định
package main 

import "fmt"

// Hàm chính
func main() { 

	// Tạo một kênh
	var c chan int

	select { 
	case x1 := <-c: fmt.println("value:="" ",="" x1)="" default:="" fmt.println("default="" case..!")="" }="" }="">

Wynik:

Default case..!
Sign up and earn $1000 a day ⋙

Leave a Comment

Nazwane parametry zwracane w Golang

Nazwane parametry zwracane w Golang

W języku Golang nazwane parametry zwracane są często określane mianem parametrów nazwanych. Język Go pozwala na nazywanie parametrów zwracanych lub wyników funkcji w sygnaturze lub definicji funkcji.

Słowa kluczowe w Go

Słowa kluczowe w Go

Słowo kluczowe – słowa kluczowe to wyrazy w języku, które są używane w odniesieniu do pewnego wewnętrznego procesu lub reprezentują pewne zdefiniowane wcześniej działanie. Oto, co musisz wiedzieć o słowach kluczowych w języku Golang.

Typy danych w Golang

Typy danych w Golang

Typ danych określa typ danych, jakie może zawierać prawidłowa zmienna języka Go. W języku Go typy dzielą się na cztery kategorie:

Argumenty funkcji w Golangu

Argumenty funkcji w Golangu

W języku Go obsługiwane są dwa główne sposoby przekazywania argumentów: przekazywanie przez wartość i przekazywanie przez referencję. Go domyślnie używa przekazywania przez wartość.

Funkcja zwracająca wiele wartości w Golang

Funkcja zwracająca wiele wartości w Golang

W języku Go można zwracać wiele wartości z funkcji, korzystając z polecenia return. Innymi słowy, w funkcji polecenie return może zwracać wiele wartości.

Instrukcja Switch w Go

Instrukcja Switch w Go

Golang, podobnie jak większość innych języków programowania, posiada instrukcję switch. Oto jak używać instrukcji switch w języku Golang.

Anonimowe struktury i pola w Golang

Anonimowe struktury i pola w Golang

Anonimowe struktury w Golangu to tymczasowe struktury bez nazw, używane do jednorazowych celów, natomiast pola anonimowe umożliwiają osadzanie nienazwanych pól.

Jak używać Rune w Golang

Jak używać Rune w Golang

Czym są runy w języku Golang? Jak używać Rune w Golang? Odpowiedź znajdziesz w tym artykule.

Jak używać operatorów w Golang

Jak używać operatorów w Golang

Operatorzy pozwalają nam wykonywać różne typy operacji na operandach. W języku Go operatory można klasyfikować na podstawie ich różnych funkcji.

Identyfikator Void w Golang

Identyfikator Void w Golang

_(podkreślenie) w języku Golang nazywane jest pustym identyfikatorem. Identyfikator to zdefiniowana przez użytkownika nazwa komponentów programu, stosowana w celach identyfikacyjnych.

Jak stworzyć podstawowy program w Golang

Jak stworzyć podstawowy program w Golang

Witaj, świecie! jest pierwszym podstawowym programem w dowolnym języku programowania. Możesz napisać ten pierwszy program w języku Go, wykonując poniższe kroki.

Jak zainstalować Go w systemie Windows

Jak zainstalować Go w systemie Windows

Golang można łatwo zainstalować w systemie Windows. Poniżej znajduje się szczegółowy przewodnik krok po kroku dotyczący instalacji Golang w systemie Windows.

Metody o tej samej nazwie w Golang

Metody o tej samej nazwie w Golang

Język Go pozwala na tworzenie dwóch lub więcej metod o tej samej nazwie w tym samym pakiecie, ale odbiorcy tych metod muszą być różnych typów.

Funkcje w Go

Funkcje w Go

W języku Go funkcje to bloki kodu wykonujące określone zadania. Można je wielokrotnie wykorzystywać w całym programie, aby oszczędzać pamięć, poprawiać czytelność i oszczędzać czas.

15 rzeczy, które możesz zrobić za pomocą ChatGPT

15 rzeczy, które możesz zrobić za pomocą ChatGPT

Od momentu premiery w listopadzie 2022 r. ChatGPT cieszy się dużym zainteresowaniem ze względu na mnogość zastosowań. Aby pomóc Ci w pełni wykorzystać to narzędzie, przedstawiamy 15 sposobów wykorzystania ChatGPT.

Wskazówki dotyczące wyszukiwania tanich lotów na Gemini

Wskazówki dotyczące wyszukiwania tanich lotów na Gemini

Widżety w Gemini pomagają asystentowi AI docierać do użytkowników w większej liczbie obszarów, na przykład wyszukiwać tanie bilety lotnicze za pomocą widżetu Google Flights.

Nazwane parametry zwracane w Golang

Nazwane parametry zwracane w Golang

W języku Golang nazwane parametry zwracane są często określane mianem parametrów nazwanych. Język Go pozwala na nazywanie parametrów zwracanych lub wyników funkcji w sygnaturze lub definicji funkcji.

Instrukcje dotyczące ustawiania tapety czatu na WhatsApp

Instrukcje dotyczące ustawiania tapety czatu na WhatsApp

WhatsApp ma funkcję zmiany tapety czatu, umożliwiającą użytkownikom ustawianie motywów czatu w WhatsApp. Użytkownicy będą mogli wybierać spośród 30 różnych teł czatów lub używać swoich osobistych zdjęć jako tła czatów na WhatsAppie.

Czym jest plik FLV? Jak otwierać pliki FLV na komputerze?

Czym jest plik FLV? Jak otwierać pliki FLV na komputerze?

Często pobierasz filmy z Internetu na swój komputer, aby oglądać je w trybie offline, a także oglądasz pliki FLV. Masz problem z ich otwarciem? Dzisiaj w poniższym artykule przedstawimy informacje na temat plików wideo FLV.

Jak przeglądać archiwum wiadomości na Facebooku telefon, komputer

Jak przeglądać archiwum wiadomości na Facebooku telefon, komputer

Aby przeglądać opublikowane wiadomości na Facebooku, musisz aktywować archiwum wiadomości na Facebooku. Po włączeniu trybu archiwizacji wszystkie wiadomości z Facebooka zostaną zapisane w archiwum, abyś mógł je przejrzeć w dowolnym momencie.

Najnowszy kod MU Luc Dia VNG i jak go wykorzystać

Najnowszy kod MU Luc Dia VNG i jak go wykorzystać

Kody do gry MU Luc Dia VNG możesz wymienić na Zen i inne waluty.

10 niezbędnych aplikacji dla miłośników książek

10 niezbędnych aplikacji dla miłośników książek

To, że nie masz przy sobie książki, nie oznacza, że ​​musisz przestać czytać. Wszystko, czego potrzebujesz, to Twój telefon, aby wypróbować aplikacje mediów społecznościowych przeznaczone dla miłośników książek i znaleźć książkę, którą chcesz przeczytać.

Dowiedz się więcej o Spotify Connect: funkcji Spotify, która zmusza użytkowników do opuszczenia YouTube Music

Dowiedz się więcej o Spotify Connect: funkcji Spotify, która zmusza użytkowników do opuszczenia YouTube Music

Możliwość sterowania muzyką odtwarzaną na jednym urządzeniu za pomocą innego jest niedocenianą funkcją. YouTube Music nie ma tej funkcji — i to zmusza ludzi do korzystania ze Spotify.

Jak sprawić, by śnieżka eksplodowała w grze Minecraft Bedrock i Java Editon

Jak sprawić, by śnieżka eksplodowała w grze Minecraft Bedrock i Java Editon

Polecenia gry Minecraft pozwalają graczom na tworzenie wielu interesujących efektów, a jedną z ciekawych opcji jest powodowanie eksplozji śnieżek. Oto jak zrobić wybuchające śnieżki w grze Minecraft.

Czy Twój komputer ma NPU? Oto jak to sprawdzić

Czy Twój komputer ma NPU? Oto jak to sprawdzić

W systemie Windows 11 możesz szybko sprawdzić, czy Twój komputer posiada NPU (jednostkę przetwarzania neuronowego), korzystając z 3 bardzo prostych sposobów.

Czy tryb hibernacji jest szkodliwy dla komputera?

Czy tryb hibernacji jest szkodliwy dla komputera?

Tryb hibernacji powstał z potrzeby utrzymywania komputera w trybie 24/7 bez konieczności rozładowywania baterii lub w celu uniknięcia wpływu awarii zasilania na działanie systemu, w przeciwieństwie do trybu uśpienia.

Instrukcje dodawania kalendarza Euro 2024 na iPhoneie

Instrukcje dodawania kalendarza Euro 2024 na iPhoneie

Dodanie kalendarza Euro 2024 na iPhone'a pozwala użytkownikom łatwo śledzić mecze w ramach Euro 2024, turnieju piłkarskiego z emocjonującymi spotkaniami.

Alibaba prezentuje QwQ-32b, godnego konkurenta DeepSeek

Alibaba prezentuje QwQ-32b, godnego konkurenta DeepSeek

Czy obietnice Alibaby okażą się prawdziwe, pozostaje niewiadome, ale wygląda na to, że ChatGPT i DeepSeek mają teraz nowego, godnego konkurenta.

Podsumowanie informacji o Samsung One UI 7

Podsumowanie informacji o Samsung One UI 7

Telefony Samsung Galaxy z systemem One UI 7.0 będą bezpieczniejsze dzięki trybowi blokady, który zapobiega nieautoryzowanym atakom.