Rumah >pembangunan bahagian belakang >Golang >Adakah Terima atau Hantar Dinilai Pertama dalam Penyata `pilih` Go?

Adakah Terima atau Hantar Dinilai Pertama dalam Penyata `pilih` Go?

Susan Sarandon
Susan Sarandonasal
2024-11-15 00:48:02744semak imbas

Is Receive or Send Evaluated First in a Go `select` Statement?

Menyingkap Dinamik Operasi Terima dan Hantar dalam Penyata terpilih

Apabila ingin memajukan keputusan saluran, ramai yang memilih binaan berikut:

for {
    select {
        ...
        case ch2 <p>Memeriksa kod ini menimbulkan persoalan: apakah aspek operasi pilih yang sedang dinilai, tindakan menerima atau menghantar?</p><p>Dokumentasi Go menjelaskan perkara ini:</p><blockquote>Operan saluran bagi operasi terima dan saluran serta ungkapan sebelah kanan penyata hantar dinilai dengan tepat sekali, dalam susunan sumber, apabila memasukkan pernyataan "pilih".</blockquote><p>Ini menunjukkan bahawa dalam contoh yang diberikan , ungkapan </p><p>Secara berkesan, kaedah ini membolehkan penyekatan serta-merta pada penerimaan daripada ch1, dengan pilih akhirnya mengawal penghantaran berikutnya pada ch2. Walau bagaimanapun, perlu diingat bahawa walaupun kes ganti dipilih, nilai daripada ch1 masih akan digunakan dan dibuang.</p>

Atas ialah kandungan terperinci Adakah Terima atau Hantar Dinilai Pertama dalam Penyata `pilih` Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn