Terima dan Hantar Operasi dalam Kes Pilihan Yang Sama
Dalam Go, penyataan pilih membenarkan gorout melakukan operasi komunikasi sekatan berbilang serentak. Apabila menggunakan kedua-dua operasi terima dan hantar dalam kes pilih yang sama, adalah penting untuk memahami aliran operasi.
Dokumentasi Go menyatakan bahawa apabila memasukkan penyata pilih, operan saluran bagi operasi terima dan saluran dan kanan- ungkapan sebelah tangan kenyataan hantar dinilai sekali. Penilaian ini menentukan set saluran untuk menerima atau menghantar kepada dan nilai hantar yang sepadan.
Dalam contoh yang disediakan:
for { select { ... case ch2 <- (<-ch1): ... } }
Penyata akan segera menyekat operasi terima daripada ch1. Pernyataan pilih kemudian menilai kes pilihan mana yang akan diteruskan. Jika kes ch2 dipilih, operasi hantar pada ch2 akan berlaku.
Adalah penting untuk ambil perhatian bahawa jika kes ch2 tidak dipilih, operasi terima daripada ch1 masih akan menggunakan dan membuang nilai. Ini mempunyai kesan sampingan mengosongkan penimbal untuk ch1.
Oleh itu, menggunakan kedua-dua operasi terima dan hantar dalam kes pilih yang sama bermakna operasi terima disekat serta-merta dan pernyataan pilih menentukan operasi komunikasi yang akan diteruskan berdasarkan syarat yang dinilai.
Atas ialah kandungan terperinci Bagaimanakah Operasi Terima dan Hantar Bekerja Bersama dalam Kes Go Select?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!