Kes yang perlu diketahui apabila menggunakan pernyataan pemilihan di Golang

Dalam bahasa Go, pernyataan pilih adalah seperti pernyataan suis , tetapi dalam pernyataan pilih, pernyataan kes merujuk kepada komunikasi, iaitu penghantaran atau penerimaan operasi pada saluran.

Kes yang perlu diketahui apabila menggunakan pernyataan pemilihan di Golang

Sintaks:

select{

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

Dalam artikel ini, kita akan belajar cara menggunakan kes lalai untuk mengelakkan kebuntuan. Tetapi pertama-tama, mari kita ketahui apakah kes kebuntuan apabila menggunakan arahan pilih Golang ?

Perkara yang perlu diketahui mengenai kes kebuntuan di Golang

Jalan buntu: Apabila anda cuba membaca atau menulis data daripada saluran tetapi saluran itu kosong. Jadi ia menyekat pelaksanaan goroutine semasa dan memberikan kawalan kepada goroutine lain, tetapi jika tiada goroutine lain tersedia atau goroutine lain sedang berehat kerana keadaan ini, program akan ranap. Fenomena ini dipanggil kebuntuan. Seperti yang ditunjukkan dalam contoh di bawah:

Contohnya:

// 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: }="" }="">

Keputusan:

fatal error: all goroutines are asleep - deadlock!

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

Untuk mengelakkan situasi ini, kami menggunakan kes lalai dalam pernyataan pilih. Dalam erti kata lain, apabila kebuntuan berlaku dalam atur cara, kes lalai bagi pernyataan pilih dilaksanakan untuk mengelakkan kebuntuan. Seperti dalam contoh di bawah, kami menggunakan kes lalai dalam pernyataan pilih untuk mengelakkan kebuntuan.

Contohnya:

// 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..!")="" }="" }="">

Keputusan:

!.. Default case..!

Anda juga dibenarkan menggunakan kes lalai apabila penyataan pilih hanya mempunyai saluran nol . Seperti yang ditunjukkan dalam contoh di bawah, saluran c adalah sifar, jadi kes lalai dilaksanakan jika kes lalai di sini tidak tersedia, maka program akan menyekat selama-lamanya dan kebuntuan timbul.

Contohnya:

// 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..!")="" }="" }="">

Keputusan:

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

Leave a Comment

Cara menggunakan pemalar di Golang

Cara menggunakan pemalar di Golang

Apakah Constant atau Const di Golang? Inilah perkara yang anda perlu ketahui tentang menggunakan pemalar dalam Go.

Fungsi meruap di Golang

Fungsi meruap di Golang

Fungsi variadik dalam Go membolehkan anda menghantar nombor pemboleh ubah argumen kepada fungsi. Berikut ialah semua yang anda perlu tahu tentang fungsi yang tidak menentu di Golang.

Menamakan parameter pulangan di Golang

Menamakan parameter pulangan di Golang

Di Golang, parameter pulangan dinamakan sering dirujuk sebagai parameter bernama. Golang membenarkan menamakan parameter pemulangan atau hasil fungsi dalam tandatangan atau definisi fungsi.

Kata kunci dalam Go

Kata kunci dalam Go

Kata kunci - Kata kunci ialah perkataan dalam bahasa yang digunakan untuk beberapa proses dalaman atau mewakili beberapa tindakan yang dipratentukan. Berikut adalah perkara yang anda perlu tahu tentang kata kunci di Golang.

Jenis data di Golang

Jenis data di Golang

Jenis data menentukan jenis data pembolehubah Go yang sah boleh mengandungi. Dalam bahasa Go, jenis dibahagikan kepada empat kategori seperti berikut:

Hujah fungsi di Golang

Hujah fungsi di Golang

Go menyokong dua cara utama untuk meluluskan hujah: Lulus dengan nilai dan Lulus dengan rujukan. Go menggunakan nilai pas secara lalai.

Fungsi mengembalikan berbilang nilai dalam Golang

Fungsi mengembalikan berbilang nilai dalam Golang

Dalam bahasa Go, anda dibenarkan untuk mengembalikan berbilang nilai daripada fungsi, menggunakan pernyataan pulangan. Dalam erti kata lain, dalam fungsi, pernyataan pulangan boleh mengembalikan berbilang nilai.

Tukar Kenyataan dalam Go

Tukar Kenyataan dalam Go

Golang seperti kebanyakan bahasa pengaturcaraan lain mempunyai pernyataan suis. Berikut ialah cara menggunakan pernyataan suis dalam Golang.

Struktur dan medan tanpa nama di Golang

Struktur dan medan tanpa nama di Golang

Struktur tanpa nama di Golang ialah struktur sementara tanpa nama yang digunakan untuk tujuan sekali sahaja, manakala medan tanpa nama membenarkan pembenaman medan tanpa nama.

Cara menggunakan Rune di Golang

Cara menggunakan Rune di Golang

Apakah Runes di Golang? Bagaimana untuk menggunakan Rune di Golang? Artikel itu akan memberitahu anda jawapannya.

Pengecam tidak sah di Golang

Pengecam tidak sah di Golang

_(garis bawah) dalam Golang dipanggil Pengecam Kosong. Pengecam ialah nama yang ditentukan pengguna bagi komponen program yang digunakan untuk tujuan pengenalan.

Cara membuat program asas di Golang

Cara membuat program asas di Golang

Hello, Dunia! ialah program asas pertama dalam mana-mana bahasa pengaturcaraan. Anda boleh menulis program pertama ini di Golang mengikut langkah-langkah di bawah.

Cara Memasang Go pada Windows

Cara Memasang Go pada Windows

Golang boleh dipasang dengan mudah pada Windows. Di bawah ialah panduan langkah demi langkah terperinci untuk memasang Golang pada Windows.

Kaedah dengan nama yang sama di Golang

Kaedah dengan nama yang sama di Golang

Golang membenarkan mencipta dua atau lebih kaedah dengan nama yang sama dalam pakej yang sama, tetapi penerima kaedah ini mestilah daripada jenis yang berbeza.

Perbezaan antara TV biasa dan TV Pintar

Perbezaan antara TV biasa dan TV Pintar

TV pintar benar-benar telah melanda dunia. Dengan begitu banyak ciri hebat dan sambungan internet, teknologi telah mengubah cara kita menonton TV.

Mengapa peti sejuk tidak mempunyai lampu tetapi peti sejuk ada?

Mengapa peti sejuk tidak mempunyai lampu tetapi peti sejuk ada?

Peti sejuk adalah peralatan biasa dalam isi rumah. Peti ais biasanya mempunyai 2 kompartmen iaitu ruang sejuk yang luas dan mempunyai lampu yang menyala secara automatik setiap kali pengguna membukanya, manakala ruang peti sejuk beku pula sempit dan tiada cahaya.

2 Cara untuk Membetulkan Kesesakan Rangkaian Yang Melambatkan Wi-Fi

2 Cara untuk Membetulkan Kesesakan Rangkaian Yang Melambatkan Wi-Fi

Rangkaian Wi-Fi dipengaruhi oleh banyak faktor di luar penghala, lebar jalur dan gangguan, tetapi terdapat beberapa cara pintar untuk meningkatkan rangkaian anda.

Cara Menurunkan Taraf daripada iOS 17 kepada iOS 16 tanpa Kehilangan Data menggunakan Tenorshare Reiboot

Cara Menurunkan Taraf daripada iOS 17 kepada iOS 16 tanpa Kehilangan Data menggunakan Tenorshare Reiboot

Jika anda ingin kembali kepada iOS 16 yang stabil pada telefon anda, berikut ialah panduan asas untuk menyahpasang iOS 17 dan menurunkan taraf daripada iOS 17 kepada 16.

Apa yang berlaku kepada badan apabila anda makan yogurt setiap hari?

Apa yang berlaku kepada badan apabila anda makan yogurt setiap hari?

Yogurt adalah makanan yang indah. Adakah baik untuk makan yogurt setiap hari? Apabila anda makan yogurt setiap hari, bagaimana badan anda akan berubah? Mari kita ketahui bersama!

Apakah jenis beras yang terbaik untuk kesihatan?

Apakah jenis beras yang terbaik untuk kesihatan?

Artikel ini membincangkan jenis beras yang paling berkhasiat dan cara memaksimumkan manfaat kesihatan bagi mana-mana beras yang anda pilih.

Bagaimana untuk bangun tepat pada waktunya pada waktu pagi

Bagaimana untuk bangun tepat pada waktunya pada waktu pagi

Menetapkan jadual tidur dan rutin waktu tidur, menukar jam penggera anda dan melaraskan diet anda ialah beberapa langkah yang boleh membantu anda tidur dengan lebih lena dan bangun tepat pada waktunya pada waktu pagi.

Petua untuk bermain Rent Please! Tuan Tanah Sim untuk Pemula

Petua untuk bermain Rent Please! Tuan Tanah Sim untuk Pemula

Tolong Sewa! Landlord Sim ialah permainan mudah alih simulasi pada iOS dan Android. Anda akan bermain sebagai tuan tanah kompleks pangsapuri dan mula menyewa sebuah apartmen dengan matlamat untuk menaik taraf bahagian dalam pangsapuri anda dan menyediakannya untuk penyewa.

Kod Pertahanan Menara Bilik Mandi Terkini dan Cara Memasukkan Kod

Kod Pertahanan Menara Bilik Mandi Terkini dan Cara Memasukkan Kod

Dapatkan kod permainan Bathroom Tower Defense Roblox dan tebus untuk ganjaran yang menarik. Mereka akan membantu anda menaik taraf atau membuka kunci menara dengan kerosakan yang lebih tinggi.

Struktur, simbol dan prinsip operasi transformer

Struktur, simbol dan prinsip operasi transformer

Mari belajar tentang struktur, simbol dan prinsip operasi transformer dengan cara yang paling tepat.

4 Cara AI Menjadikan TV Pintar Lebih Baik

4 Cara AI Menjadikan TV Pintar Lebih Baik

Daripada kualiti gambar dan bunyi yang lebih baik kepada kawalan suara dan banyak lagi, ciri dikuasakan AI ini menjadikan TV pintar lebih baik!

Mengapa ChatGPT lebih baik daripada DeepSeek

Mengapa ChatGPT lebih baik daripada DeepSeek

Pada mulanya, orang ramai menaruh harapan yang tinggi untuk DeepSeek. Sebagai chatbot AI yang dipasarkan sebagai pesaing kuat kepada ChatGPT, ia menjanjikan keupayaan dan pengalaman sembang pintar.

Temui Fireflies.ai: Setiausaha AI Percuma Yang Menjimatkan Masa Kerja Anda

Temui Fireflies.ai: Setiausaha AI Percuma Yang Menjimatkan Masa Kerja Anda

Sangat mudah untuk terlepas butiran penting semasa mencatat perkara penting lain, dan cuba mencatat nota semasa bersembang boleh mengganggu. Fireflies.ai adalah penyelesaiannya.

Bagaimana untuk membesarkan Axolotl Minecraft, menjinakkan Minecraft Salamander

Bagaimana untuk membesarkan Axolotl Minecraft, menjinakkan Minecraft Salamander

Axolot Minecraft akan menjadi pembantu yang hebat untuk pemain semasa beroperasi di bawah air jika mereka tahu cara menggunakannya.

Tempat yang Tenang: Konfigurasi Permainan PC Jalan Hadapan

Tempat yang Tenang: Konfigurasi Permainan PC Jalan Hadapan

Tempat yang Tenang: Konfigurasi The Road Ahead dinilai agak tinggi, jadi anda perlu mempertimbangkan konfigurasi sebelum membuat keputusan untuk memuat turun.