Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah anda boleh Memecahkan Gelung For dari Luar Skopnya di Golang?

Bagaimanakah anda boleh Memecahkan Gelung For dari Luar Skopnya di Golang?

Barbara Streisand
Lepaskan: 2024-10-31 04:57:31
asal
554 orang telah melayarinya

How can you Break a For Loop from Outside Its Scope in Golang?

Memecahkan Gelung dari Luar Skopnya di Golang

Apabila menguruskan gelung tak terhingga, keperluan untuk menamatkannya dari luar skopnya mungkin timbul. Di Golang, penggunaan label dengan gelung membolehkan kefungsian ini. Walau bagaimanapun, had timbul apabila cuba memecahkan gelung daripada goroutine yang berasingan disebabkan oleh kekangan skop.

Penyelesaian: Menggunakan Saluran Isyarat

Untuk mengatasi isu ini, penyelesaiannya terletak pada penggunaan saluran isyarat. Saluran ialah mekanisme komunikasi di Golang yang membolehkan pertukaran data antara goroutine. Apabila ingin memecahkan gelung dari luar skopnya, ikuti langkah berikut:

  1. Buat saluran isyarat:

    <code class="go">quit := make(chan struct{})</code>
    Salin selepas log masuk
  2. Tutup saluran daripada goroutine:
    Dalam goroutine yang bertanggungjawab untuk memecahkan gelung, tutup saluran isyarat setelah syarat yang dikehendaki dipenuhi:

    <code class="go">close(quit)</code>
    Salin selepas log masuk
  3. Dengar isyarat dalam gelung:
    Di dalam gelung tak terhingga, gunakan pernyataan pilih untuk mendengar saluran tertutup. Apabila saluran ditutup, ia akan kembali serta-merta, membenarkan gelung terputus:

    <code class="go">myLoop:
    for {
        select {
        case <-quit:
            break myLoop
        default:
            fmt.Println("iteration", i)
            i++
        }
    }</code>
    Salin selepas log masuk

Dengan melaksanakan penyelesaian ini, anda boleh mengawal pelaksanaan gelung for daripada luaran dengan berkesan. goroutine, memecahkannya dengan lancar apabila syarat tertentu dipenuhi.

Atas ialah kandungan terperinci Bagaimanakah anda boleh Memecahkan Gelung For dari Luar Skopnya di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan