Bagaimana Menggunakan Penyata Pilih di Golang?

Bagaimana Menggunakan Penyata Pilih Di Golang



A pilih pernyataan di Golang membolehkan pembangun menyegerakkan dan berkomunikasi antara rutin Go, saluran dan aliran data. Ia membolehkan program Go menunggu pada berbilang operasi saluran sekaligus dan melaksanakan operasi pertama yang telah sedia.

Dalam artikel ini, kami akan meneroka cara menggunakannya pilih pernyataan di Golang dan berikan contoh untuk membantu anda mencapai keselarian, keselarasan dan penyegerakan dalam program Go.

Bagaimana Menggunakan Penyata Pilih di Golang?

Sama seperti pernyataan suis, the pilih pernyataan membenarkan kami memilih dan melaksanakan satu ungkapan antara banyak ungkapan, tetapi perbezaan utama antara pilih dan suis adalah bahawa pilih pernyataan berfungsi pada prinsip menunggu, yang bermaksud bahawa pilih pernyataan tidak akan dilaksanakan sehingga komunikasi selesai.







Di sini, komunikasi merujuk kepada menghantar dan menerima data merentasi mana-mana saluran tertentu. Apabila komunikasi selesai, semakan seterusnya dilakukan, membolehkan kami melihat bahawa pernyataan pilihan bahasa Go bergantung sepenuhnya pada saluran.



Sintaks untuk Pernyataan Pilih

Sintaks mudah yang digunakan untuk pilih pernyataan menggunakan bahasa Go ditunjukkan di bawah:



pilih {
kes saluran_1 :
// kod untuk dilaksanakan apabila channel_1 sedia
kes saluran_2 :
// kod untuk dilaksanakan apabila saluran_2 sedia
kes saluran_3 :
// kod untuk dilaksanakan apabila channel_3 sedia
kes saluran_4 :
// kod untuk dilaksanakan apabila channel_4 sedia
lalai :
// kod untuk dilaksanakan jika tiada saluran sedia
}

di sini:





  • Dalam pilih pernyataan , setiap kes mewakili operasi saluran, yang boleh menjadi operasi terima atau operasi hantar.
  • The pilih pernyataan menunggu sehingga salah satu kes sedia dan kemudian menjalankannya dan pernyataan kes yang berkaitan.
  • Ia memilih saluran secara rawak sekiranya terdapat berbilang saluran sedia untuk dilaksanakan.

Cara Membuat Saluran di Golang

Untuk membuat saluran dalam Go, pengguna boleh menggunakan fungsi make diikuti oleh chan kata kunci dan tentukan jenis saluran, yang mungkin int, rentetan atau lain-lain.

ch := buat ( jenis chan )

Laksanakan Select Statement di Golang

Di sini, kami akan memberikan beberapa contoh untuk membantu anda mempelajari asas penggunaan pilih pernyataan di Golang.



Contoh 1

Contoh berikut bagi pilih pernyataan menunjukkan prestasinya apabila kedua-dua saluran sedia untuk dilaksanakan.

pakej utama

import 'fmt'

fungsi utama ( ) {

pada satu := buat ( chan int )

str := buat ( rentetan chan )

pergi chan_num ( pada satu )

pergi chan_str ( str )

pilih {

kes Ch1 := <- pada satu :

fmt. Println ( 'Data Saluran:' , Ch1 )

kes Ch2 := <- str :

fmt. Println ( 'Data Saluran:' , Ch2 )

}

}

fungsi chan_num ( num chan int ) {

pada satu <- 67

}

func chan_str ( rentetan str chan ) {

str <- 'Linux'

}

Dalam contoh di atas, kami mencipta dua saluran, pada satu, dan str dan kami menggunakan fungsi Go chan_num() untuk menghantar data ke saluran num dan chan_str() untuk menghantar data ke saluran str. Kerana program ini mengandungi dua saluran yang berbeza, kami menggunakan pilih pernyataan untuk melaksanakan salah seorang daripada mereka.

Kes Ch1 membaca nilai daripada num saluran dan memaparkannya. Begitu juga, kes Ch2 mengembalikan nilai daripada str saluran. Program di atas mengembalikan output saluran yang sedia untuk digunakan. Pengeluaran

Contoh 2

Jika anda ingin menambah kelewatan pada saluran dan mengembalikan output saluran lain, anda boleh menggunakan time.sleep() berfungsi pada saluran tertentu. Ini membolehkan anda mencetak output saluran lain ke konsol. Berikut adalah contoh kes sedemikian.

pakej utama

import (

'fmt'

'masa'

)

fungsi utama ( ) {

pada satu := buat ( chan int )

str := buat ( rentetan chan )

pergi chan_num ( pada satu )

pergi chan_str ( str )

pilih {

kes Ch1 := <- pada satu :

fmt. Println ( 'Data Saluran:' , Ch1 )

kes Ch2 := <- str :

fmt. Println ( 'Data Saluran:' , Ch2 )

}

}

fungsi chan_num ( num chan int ) {

pada satu <- 67

}

func chan_str ( rentetan str chan ) {

masa . tidur ( 5 * masa . Kedua )

str <- 'Linux'

}

Dalam kod yang diberikan di atas, kami menggunakan kod masa.Tidur() fungsi di dalam chan_str() fungsi. Hanya saluran num sedia untuk dilaksanakan untuk 5 saat pertama. Akibatnya, pilih pernyataan menjalankan kes Ch1 .

Pengeluaran

Catatan: Anda boleh menambah kelewatan pada kedua-dua saluran untuk menangguhkan pelaksanaan saluran.

Kesimpulan

The pilih pernyataan dalam Go membolehkan pemilihan dan pelaksanaan satu ungkapan daripada banyak ungkapan menggunakan prinsip tunggu, di mana pernyataan itu tidak akan dilaksanakan sehingga komunikasi selesai. Garis panduan yang disebutkan di atas termasuk pilih pernyataan sintaks asas dan contoh.