Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Petua untuk keluar elegan dan lintasan gelung melompat keluar daripada fungsi Golang

Petua untuk keluar elegan dan lintasan gelung melompat keluar daripada fungsi Golang

王林
王林asal
2023-05-16 21:40:341753semak imbas

Golang ialah bahasa pengaturcaraan dengan kecekapan pembangunan yang tinggi dan prestasi cemerlangnya adalah salah satu ciri utamanya. Semasa proses pembangunan, kita sering menghadapi situasi di mana kita perlu keluar dari fungsi atau gelung melalui. Artikel ini akan memperkenalkan petua keluar dan gelung keluar yang anggun bagi fungsi Golang.

1. Keluar anggun fungsi

Dalam pengaturcaraan Golang, kadangkala kita perlu keluar dengan anggun dalam sesuatu fungsi. Keadaan ini biasanya berlaku kerana kita menghadapi beberapa ralat dalam fungsi atau hasil pelaksanaan fungsi tidak seperti yang diharapkan. Terdapat dua situasi di mana anda perlu mempertimbangkan keluar anggun fungsi:

(1) Apabila fungsi tersebut berjaya dilaksanakan tetapi tidak dapat mengembalikan hasil yang betul, anda perlu mempertimbangkan keluar anggun.

(2) Apabila ralat atau situasi tidak normal berlaku semasa pelaksanaan fungsi, keluar anggun perlu dipertimbangkan.

Jadi bagaimana untuk mencapai keluar yang anggun dari fungsi di Golang? Mari kita ambil contoh kod sebagai contoh untuk menerangkan.

Kod sampel:

func test() {
    defer func() {
        if err := recover(); err != nil {
            fmt.Println("recover error:", err)
        }
    }()
    fmt.Println("start test")
    panic("test panic")
    fmt.Println("end test")
}

Dalam kod di atas, kami telah mencipta fungsi ujian. Dalam fungsi tersebut, kami menggunakan kata kunci tangguh Pernyataan penangguhan melambatkan pelaksanaan fungsi yang ditentukan Fungsi tanpa nama digunakan di sini. Jika ralat panik berlaku semasa pelaksanaan fungsi, fungsi pulih boleh menangkap ralat dan mengendalikannya dengan sewajarnya.

Kita boleh mengujinya dengan memanggil fungsi ujian:

func main() {
    test()
    fmt.Println("main end")
}

Hasil keluaran program di atas ialah:

start test
recover error: test panic
main end

Seperti yang ditunjukkan di atas, walaupun kita menggunakan fungsi panik dalam fungsi ujian Ralat telah berlaku, tetapi kami menggunakan fungsi pulih untuk menangkap ralat dan mengeluarkan mesej segera untuk mengelakkan ranap program.

2. Lompat keluar dari lintasan gelung

Di Golang, pernyataan for boleh digunakan untuk melakukan lintasan gelung. Semasa melintas gelung, kadangkala kita perlu keluar dari gelung dalam keadaan tertentu. Di bawah ini kami akan memperkenalkan beberapa petua untuk melompat keluar dari lintasan gelung.

(1) Gunakan pernyataan putus untuk melompat keluar dari gelung

Pernyataan putus digunakan untuk melompat keluar dari pernyataan gelung yang sedang dilaksanakan. Gunakan pernyataan putus dalam gelung for untuk menamatkan gelung lebih awal.

Kod sampel:

for i := 0; i < 10; i++ {
    if i == 5 {
        break
    }
    fmt.Println(i)
}

Dalam kod di atas, kami menggunakan gelung for untuk melintasi integer antara 0 dan 10. Apabila nilai i bersamaan dengan 5, kami menggunakan pernyataan putus untuk keluar dari gelung.

(2) Gunakan pernyataan continue untuk melangkau gelung ini

Pernyataan continue digunakan untuk melangkau pernyataan yang tinggal dalam gelung semasa dan masukkan lelaran gelung seterusnya. Menggunakan pernyataan continue dalam gelung for membolehkan gelung melangkau gelung ini jika syarat tertentu dipenuhi.

Kod sampel:

for i := 0; i < 10; i++ {
    if i == 5 {
        continue
    }
    fmt.Println(i)
}

Dalam kod di atas, kami menggunakan gelung for untuk melintasi integer antara 0 dan 10. Apabila nilai i bersamaan dengan 5, kami menggunakan pernyataan continue untuk melangkau gelung ini.

(3) Gunakan pernyataan goto untuk melompat ke kedudukan label

Pernyataan goto boleh membuat atur cara melompat ke garisan di mana label terletak. Menggunakan pernyataan goto dalam lintasan gelung boleh mencapai lompatan bersyarat yang lebih kompleks.

Kod sampel:

for i := 0; i < 10; i++ {
    for j := 0; j < 10; j++ {
        if j == 5 {
            goto breakfor
        }
        fmt.Printf("(%d,%d)
", i, j)
    }
}
breakfor:
fmt.Println("break for")

Dalam kod di atas, kami menggunakan dua gelung untuk melintasi tatasusunan dua dimensi secara bersarang. Dalam gelung dalam, apabila nilai j bersamaan dengan 5, kami menggunakan pernyataan goto untuk melompat ke lokasi label breakfor.

Ringkasan:

Artikel ini terutamanya memperkenalkan petua keluar dan gelung keluar yang anggun bagi fungsi Golang. Dalam pembangunan Golang, fungsi dan traversal gelung adalah ciri yang sangat biasa digunakan, dan penggunaan fleksibelnya boleh meningkatkan kecekapan pembangunan dan prestasi program kami. Semoga artikel ini bermanfaat kepada pembaca.

Atas ialah kandungan terperinci Petua untuk keluar elegan dan lintasan gelung melompat keluar daripada fungsi Golang. 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