kawalan proses golang
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.
- kenyataan if
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
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
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 .
- untuk pernyataan
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
- penyataan julat
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
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
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
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





OpenSSL, sebagai perpustakaan sumber terbuka yang digunakan secara meluas dalam komunikasi yang selamat, menyediakan algoritma penyulitan, kunci dan fungsi pengurusan sijil. Walau bagaimanapun, terdapat beberapa kelemahan keselamatan yang diketahui dalam versi sejarahnya, yang sebahagiannya sangat berbahaya. Artikel ini akan memberi tumpuan kepada kelemahan umum dan langkah -langkah tindak balas untuk OpenSSL dalam sistem Debian. Debianopenssl yang dikenal pasti: OpenSSL telah mengalami beberapa kelemahan yang serius, seperti: Kerentanan Pendarahan Jantung (CVE-2014-0160): Kelemahan ini mempengaruhi OpenSSL 1.0.1 hingga 1.0.1f dan 1.0.2 hingga 1.0.2 versi beta. Penyerang boleh menggunakan kelemahan ini untuk maklumat sensitif baca yang tidak dibenarkan di pelayan, termasuk kunci penyulitan, dll.

Masalah Threading Giliran di GO Crawler Colly meneroka masalah menggunakan Perpustakaan Colly Crawler dalam bahasa Go, pemaju sering menghadapi masalah dengan benang dan permintaan beratur. � ...

Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Laluan Pembelajaran Backend: Perjalanan Eksplorasi dari Front-End ke Back-End sebagai pemula back-end yang berubah dari pembangunan front-end, anda sudah mempunyai asas Nodejs, ...

Artikel ini memperkenalkan pelbagai kaedah dan alat untuk memantau pangkalan data PostgreSQL di bawah sistem Debian, membantu anda memahami pemantauan prestasi pangkalan data sepenuhnya. 1. Gunakan PostgreSQL untuk membina pemantauan PostgreSQL sendiri menyediakan pelbagai pandangan untuk pemantauan aktiviti pangkalan data: PG_STAT_ACTIVITY: Memaparkan aktiviti pangkalan data dalam masa nyata, termasuk sambungan, pertanyaan, urus niaga dan maklumat lain. PG_STAT_REPLITI: Memantau status replikasi, terutamanya sesuai untuk kluster replikasi aliran. PG_STAT_DATABASE: Menyediakan statistik pangkalan data, seperti saiz pangkalan data, masa komitmen/masa rollback transaksi dan petunjuk utama lain. 2. Gunakan alat analisis log pgbadg

Perbezaan antara percetakan rentetan dalam bahasa Go: perbezaan kesan menggunakan fungsi println dan rentetan () sedang ...

Masalah menggunakan redisstream untuk melaksanakan beratur mesej dalam bahasa Go menggunakan bahasa Go dan redis ...

Di bawah rangka kerja beegoorm, bagaimana untuk menentukan pangkalan data yang berkaitan dengan model? Banyak projek beego memerlukan pelbagai pangkalan data untuk dikendalikan secara serentak. Semasa menggunakan beego ...
