Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Aliran Kawalan Menarik dalam bulatan

Aliran Kawalan Menarik dalam bulatan

PHPz
PHPzasal
2024-08-29 06:32:021132semak imbas

Interesting Control Flow in the circle

dalam Go (Golang), aliran kawalan diurus menggunakan beberapa binaan asas, termasuk syarat (jika, lain), gelung (untuk) dan pernyataan suis. Berikut ialah gambaran keseluruhan tentang cara binaan ini berfungsi dalam Go:

  1. Syarat: jika, lain, lain jika Dalam Go, jika pernyataan digunakan untuk melaksanakan kod berdasarkan syarat. Tidak seperti beberapa bahasa lain, Go tidak memerlukan tanda kurungan di sekeliling keadaan tersebut. Walau bagaimanapun, pendakap kerinting {} adalah wajib.

Pernyataan Asas

package main

import "fmt"

func main() {
    age := 20

    if age >= 18 {
        fmt.Println("You are an adult.")
    }
}

Contoh 'if-else statement'
`pakej utama

import "fmt"

func main() {
umur := 16

if age >= 18 {
    fmt.Println("You are an adult.")
} else {
    fmt.Println("You are not an adult.")
}

}
`
Pernyataan 'kalau-kalau-lain':

package main

import "fmt"

func main() {
    age := 20

    if age >= 21 {
        fmt.Println("You can drink alcohol.")
    } else if age >= 18 {
        fmt.Println("You are an adult, but cannot drink alcohol.")
    } else {
        fmt.Println("You are not an adult.")
    }
}

2.Gelung: untuk
Pergi menggunakan gelung 'untuk' untuk semua keperluan gelung; ia tidak mempunyai 'while' atau gelung
gelung 'untuk' asas:

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        fmt.Println(i)
    }
}

'untuk' sebagai gelung 'semasa':

package main

import "fmt"

func main() {
    i := 0
    for i < 5 {
        fmt.Println(i)
        i++
    }
}

Gelung Tak Terhingga:

package main

func main() {
    for {
        // This loop will run forever
    }
}

gelung 'untuk' dengan 'julat':
Ini selalunya digunakan untuk mengulangi kepingan, tatasusunan, peta atau rentetan.

package main

import "fmt"

func main() {
    numbers := []int{1, 2, 3, 4, 5}

    for index, value := range numbers {
        fmt.Println("Index:", index, "Value:", value)
    }
}

  1. Tukar Kenyataan Pergi Pernyataan 'Tukar' dalam Go digunakan untuk memilih salah satu daripada banyak blok kod untuk dilaksanakan. 'Tukar' Go adalah lebih berkuasa berbanding dalam beberapa bahasa lain dan boleh digunakan dengan sebarang jenis nilai, bukan hanya integer.

'suis' asas

package main

import "fmt"

func main() {
    day := "Monday"

    switch day {
    case "Monday":
        fmt.Println("Start of the work week.")
    case "Friday":
        fmt.Println("End of the work week.")
    default:
        fmt.Println("Midweek.")
    }
}

Tukar dengan berbilang ungkapan dalam kes:

package main

import "fmt"

func main() {
    day := "Saturday"

    switch day {
    case "Saturday", "Sunday":
        fmt.Println("Weekend!")
    default:
        fmt.Println("Weekday.")
    }
}

Suis tanpa ekspresi bertindak seperti rangkaian pernyataan if-else.

package main

import "fmt"

func main() {
    age := 18

    switch {
    case age < 18:
        fmt.Println("Underage")
    case age >= 18 && age < 21:
        fmt.Println("Young adult")
    default:
        fmt.Println("Adult")
    }
}
  1. Tangguhkan, panik dan pulih
package main

import "fmt"

func main() {
    defer fmt.Println("This is deferred and will run at the end.")
    fmt.Println("This will run first.")
}

Panik Dan Pulih

package main

import "fmt"

func main() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Recovered from panic:", r)
        }
    }()

    fmt.Println("About to panic!")
    panic("Something went wrong.")
}

Atas ialah kandungan terperinci Aliran Kawalan Menarik dalam bulatan. 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