Golang ialah bahasa pengaturcaraan yang cekap dan moden yang menyediakan ciri yang kaya dalam kawalan proses. Artikel ini akan meneroka struktur kawalan aliran di Golang, termasuk pernyataan bersyarat, pernyataan gelung dan pernyataan lompat, untuk membantu pembaca memahami dan menggunakan struktur ini dengan lebih baik.
Pernyataan bersyarat
Pernyataan bersyarat di Golang termasuk penyataan jika, tukar penyataan dan pilih penyataan.
jika pernyataan digunakan untuk penghakiman bersyarat Sintaksnya adalah seperti berikut:
if condition { statement(s) } else if condition { statement(s) } else { statement(s) }
di mana syarat ialah ungkapan bersyarat yang digunakan untuk penghakiman. benar dan salah. Jika keadaan adalah benar, blok pernyataan berikut jika dilaksanakan jika tidak, blok pernyataan dilangkau dan pernyataan seterusnya dilaksanakan.
Jika syarat diikuti oleh kata kunci else if, setiap ungkapan bersyarat akan dinilai mengikut tertib dan blok pernyataan pertama yang benar akan dilaksanakan. Jika semua ungkapan bersyarat adalah palsu, blok pernyataan berikutan yang lain dilaksanakan. Tanpa blok else, tiada pernyataan dilaksanakan jika syarat itu palsu.
Berikut ialah contoh pernyataan if:
package main import "fmt" func main() { var a int = 10 if a < 20 { fmt.Printf("a 小于 20 ") } fmt.Printf("a 的值为 : %d ", a) }
Hasil output:
a 小于 20 a 的值为 : 10
penyataan suis ialah digunakan untuk pelbagai pertimbangan Bersyarat, sintaksnya adalah seperti berikut:
switch expression { case value1: statement(s) case value2: statement(s) case value3: statement(s) default: statement(s) }
Antaranya, ungkapan ialah ungkapan yang digunakan untuk memadankan pemalar atau pembolehubah dalam klausa kes. Jika padanan berjaya, blok pernyataan yang sepadan dilaksanakan jika tidak, blok pernyataan dilangkau dan klausa kes seterusnya (jika ada) dilaksanakan.
Jika semua klausa kes tidak berjaya dipadankan, blok pernyataan berikut lalai akan dilaksanakan. Jika tiada klausa lalai, tiada pernyataan dilaksanakan.
Berikut ialah contoh pernyataan suis:
package main import "fmt" func main() { var grade string = "B" var marks int = 90 switch marks { case 90: grade = "A" case 80: grade = "B" case 60, 70: grade = "C" default: grade = "D" } switch { case grade == "A" : fmt.Printf("优秀! " ) case grade == "B", grade == "C" : fmt.Printf("良好 " ) case grade == "D" : fmt.Printf("及格 " ) case grade == "F": fmt.Printf("不及格 " ) default: fmt.Printf("差 " ) } fmt.Printf("你的等级是 %s ", grade ) }
Hasil output:
良好! 你的等级是 B
select statement is digunakan pada masa yang sama Untuk memantau berbilang saluran, sintaksnya adalah seperti berikut:
select { case communication clause 1: statement(s) case communication clause 2: statement(s) ............. default: statement(s) }
Antaranya, klausa komunikasi merujuk kepada saluran atau operasi saluran dengan arah, termasuk operasi penghantaran dan operasi penerimaan. Jika saluran mempunyai data yang boleh dibaca atau ditulis, blok pernyataan yang sepadan dilaksanakan jika tidak, saluran dilangkau dan klausa komunikasi seterusnya dilaksanakan. Jika tiada data boleh dibaca atau ditulis pada mana-mana saluran, blok pernyataan berikutan lalai dilaksanakan.
Berikut ialah contoh pernyataan pilihan:
package main import "fmt" func fibonacci(c, quit chan int) { x, y := 0, 1 for { select { case c <- x: x, y = y, x+y case <-quit: fmt.Println("quit") return } } } func main() { c := make(chan int) quit := make(chan int) go func() { for i := 0; i < 10; i++ { fmt.Println(<-c) } quit <- 0 }() fibonacci(c, quit) }
Hasil keluaran:
0 1 1 2 3 5 8 13 21 34 quit
Penyataan gelung
Pernyataan gelung di Golang termasuk untuk pernyataan dan julat kenyataan .
Penyataan for digunakan untuk melaksanakan sekeping kod dalam gelung Sintaks adalah seperti berikut:
for init; condition; post { statement(s); }
Antaranya , init digunakan untuk bila hendak memulakan gelung, keadaan Ia digunakan untuk menentukan sama ada gelung diteruskan, dan pos digunakan untuk mengawal operasi pembolehubah gelung.
Berikut ialah contoh pernyataan for:
package main import "fmt" func main() { var b int = 15 var a int for i := 0; i < 10; i++ { fmt.Printf("i 的值为: %d ", i) } for a < b { a++ fmt.Printf("a 的值为: %d ", a) } }
Hasil keluaran:
i 的值为: 0 i 的值为: 1 i 的值为: 2 i 的值为: 3 i 的值为: 4 i 的值为: 5 i 的值为: 6 i 的值为: 7 i 的值为: 8 i 的值为: 9 a 的值为: 1 a 的值为: 2 a 的值为: 3 a 的值为: 4 a 的值为: 5 a 的值为: 6 a 的值为: 7 a 的值为: 8 a 的值为: 9 a 的值为: 10 a 的值为: 11 a 的值为: 12 a 的值为: 13 a 的值为: 14 a 的值为: 15
pernyataan julat ialah digunakan untuk Elemen traversal tatasusunan, kepingan, saluran atau peta, sintaksnya adalah seperti berikut:
for key, value := range oldMap { newMap[key] = value }
di mana kunci dan nilai masing-masing mewakili kunci dan nilai elemen semasa.
Berikut ialah contoh pernyataan julat:
package main import "fmt" func main() { nums := []int{2, 3, 4} sum := 0 for _, num := range nums { sum += num } fmt.Println("sum:", sum) for i, num := range nums { if num == 3 { fmt.Println("index:", i) } } kvs := map[string]string{"a": "apple", "b": "banana"} for k, v := range kvs { fmt.Printf("%s -> %s ", k, v) } }
Hasil keluaran:
sum: 9 index: 1 a -> apple b -> banana
Pernyataan lompat
Pernyataan lompat dalam Golang termasuk putus dan teruskan dan goto.
pernyataan break digunakan untuk mengganggu badan gelung Sintaks adalah seperti berikut:
for i := 0; i < 10; i++ { if i == 5 { break } fmt.Printf("%d ", i) } fmt.Println()
Hasil output:
0 1 2 3 4
penyataan sambung digunakan untuk mengganggu lelaran badan gelung semasa Sintaksnya adalah seperti berikut:
for i := 0; i < 10; i++ { if i == 5 { continue } fmt.Printf("%d ", i) } fmt.Println()
Hasil keluaran:
.0 1 2 3 4 6 7 8 9
Pernyataan goto digunakan untuk melompat tanpa syarat ke label (label) kod tertentu untuk pelaksanaan Sintaksnya adalah seperti berikut:
goto label; ... label: statement
di mana label ialah pengecam dan pernyataan ialah pernyataan pelaksanaan.
Berikut ialah contoh pernyataan goto:
package main import "fmt" func main() { i := 0 Again: fmt.Printf("循环执行次数:%d ", i) i++ if i < 10 { goto Again } }
Hasil output:
循环执行次数:0 循环执行次数:1 循环执行次数:2 循环执行次数:3 循环执行次数:4 循环执行次数:5 循环执行次数:6 循环执行次数:7 循环执行次数:8 循环执行次数:9
Ringkasan
Struktur kawalan aliran di Golang termasuk pernyataan bersyarat dan gelung pernyataan dan pernyataan lompat. Pernyataan bersyarat termasuk jika, tukar dan pilih pernyataan, yang digunakan untuk membuat pertimbangan tunggal atau berbilang syarat. Penyataan gelung termasuk penyataan untuk dan julat, yang digunakan untuk menggelungkan sekeping kod atau melintasi elemen. Pernyataan lompat termasuk penyataan putus, teruskan dan goto, yang digunakan untuk mengganggu gelung semasa atau melompat tanpa syarat ke label untuk dilaksanakan. Dalam pengaturcaraan sebenar, adalah perlu untuk memilih struktur kawalan proses yang sesuai secara fleksibel mengikut keperluan untuk melaksanakan logik kod.
Atas ialah kandungan terperinci kawalan proses golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!