


Bagaimana anda menggunakan pernyataan bersyarat seperti jika-else di Go?
Kenyataan IF-ELSE di GO tidak memerlukan kurungan tetapi mesti menggunakan pendakap keriting. Ia menyokong permulaan pembolehubah dalam jika menghadkan skop. Syarat -syarat boleh diadili melalui yang lain jika rantai, yang sering digunakan untuk pemeriksaan ralat. Gabungan pengisytiharan dan syarat pembolehubah dapat meningkatkan kesederhanaan dan keselamatan kod.
Di Go, pernyataan if-else
berfungsi sama dengan bahasa gaya C yang lain, tetapi dengan beberapa kebiasaan khusus yang menjadikannya bersih dan idiomatik. Inilah cara anda menggunakannya dengan berkesan.

Sintaks asas if-else
Struktur asas adalah mudah:
jika keadaan { // kod untuk dijalankan jika keadaan itu benar } else { // kod untuk dijalankan jika keadaan palsu }
Contoh:

Umur: = 20 jika umur> = 18 { fmt.println ("Anda dewasa.") } else { fmt.println ("Anda adalah orang kecil.") }
Tiada tanda kurung (biasanya), tetapi pendakap diperlukan
Tidak seperti C atau Java, anda tidak memerlukan ibu bapa di sekitar keadaan (walaupun mereka dibenarkan):
// ini baik -baik saja Sekiranya umur> 18 { FMT.println ("Lebih 18") } // ini juga berfungsi, tetapi tidak idiomatik jika (umur> 18) { fmt.println ("masih melebihi 18") }
Tetapi pendakap {}
adalah wajib , walaupun untuk pernyataan satu baris.

Memulakan pembolehubah dalam jika
Satu ciri jiran di Go ialah keupayaan untuk mengisytiharkan pembolehubah sebelum keadaan. Skop pembolehubah itu terhad kepada blok if-else
.
jika x: = calculateValue (); x> 10 { fmt.println ("X lebih besar daripada 10:", x) } else { fmt.println ("x adalah 10 atau kurang:", x) }
Di sini, x
hanya boleh diakses di dalam blok if
dan else
. Ini membantu mengekalkan pembolehubah dengan ketat dan mengelakkan mencemarkan skop luar.
Pelbagai syarat dengan yang lain jika
Anda boleh berantai dengan menggunakan else if
:
SCORE: = 85 jika skor> = 90 { fmt.println ("gred: a") } lain jika skor> = 80 { FMT.println ("Gred: B") } lain jika skor> = 70 { FMT.println ("Gred: C") } else { fmt.println ("gred: f") }
Keadaan dinilai dari atas ke bawah, dan yang sepadan pertama dilaksanakan.
Menggunakan jika dengan pemeriksaan ralat
Corak yang sangat biasa di GO adalah memeriksa kesilapan selepas panggilan fungsi:
Nilai, Err: = SomeFunction () jika err! = nil { fmt.println ("Ralat berlaku:", err) Kembali } // teruskan dengan nilai fmt.println ("nilai:", nilai)
Corak ini ada di mana -mana dalam kod GO dan dianggap idiomatik.
Anda juga boleh menggabungkan tugasan dan periksa:
jika nilai, err: = someFunction (); err! = nil { fmt.println ("ralat:", err) Kembali } else { fmt.println ("Kejayaan:", Nilai) }
Nota: value
hanya boleh diakses di dalam blok if
dan else
di sini.
Ringkasan Mata Utama
- Gunakan
if
,else if
, danelse
untuk bercabang. - Tiada ibu bapa yang diperlukan di sekitar keadaan (tetapi dibenarkan).
- Pendakap
{}
diperlukan. - Anda boleh mengisytiharkan pemboleh ubah sebelum keadaan - berguna untuk scoping.
- Biasanya digunakan dengan pemeriksaan ralat (
if err != nil
).
Pada asasnya, Go if
mudah tetapi berkuasa, terutamanya dengan inisialisasi pembolehubah inline dan scoping ketat. Ia menggalakkan pengendalian ralat yang bersih dan boleh dibaca dan aliran logik.
Atas ialah kandungan terperinci Bagaimana anda menggunakan pernyataan bersyarat seperti jika-else di Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

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)

UseTime.now () togetTheCurrentLocalTimeasatime.TimeObject; 2.FormatTheTimeSingTheFormatMethodWithlayoutsike "2006-01-0215: 04:05 "; 3.GetutTimeByCallingUtc () ontheresulttime.now (); 4.ExtractComponentsLikeyear, bulan, dayingingMethodssuchasyear (), m

Cross-compilingagoApplicationIsstraightforwardingingingbuilt-insupportviagoosandgoarch.1.SetGoOsFortHetargetoperatingsystem (mis., Linux, Windows, Darwin) .2

Dalam GO, mencipta dan menggunakan jenis ralat tersuai dapat meningkatkan ekspresi dan kebarangkalian pengendalian ralat. Jawapannya adalah untuk membuat ralat tersuai dengan menentukan struktur yang melaksanakan kaedah ralat (). Sebagai contoh, ValidationError mengandungi medan medan dan mesej dan mengembalikan maklumat ralat yang diformat. Kesalahan itu kemudiannya boleh dikembalikan dalam fungsi, mengesan jenis ralat tertentu melalui penegasan jenis atau ralat. Untuk melaksanakan logik yang berbeza. Anda juga boleh menambah kaedah tingkah laku seperti iskritikal kepada kesilapan tersuai, yang sesuai untuk senario yang memerlukan data berstruktur, pemprosesan yang dibezakan, eksport perpustakaan atau integrasi API. Dalam kes -kes yang mudah, kesilapan. Kesalahan, dan kesilapan yang telah ditetapkan seperti errnotfound boleh digunakan untuk sebanding

UseFilePath.join () tosafelyconstructPathSwithCorrectos-specificseparators.2.usefilepath.clean () toremoveredundantelements ".." dan "."

Fungsi pulih mesti dipanggil untuk menunda untuk menangkap panik; 2. Gunakan pemulihan dalam program jangka panjang seperti Goroutine atau Server untuk mengelakkan keseluruhan program daripada terhempas; 3. Memulihkan tidak boleh disalahgunakan, hanya digunakan apabila ia dikendalikan, untuk mengelakkan menggantikan pengendalian ralat biasa; 4. Amalan terbaik termasuk merakam maklumat panik, menggunakan debug.stack () untuk mendapatkan jejak timbunan dan pulih pada tahap yang sesuai. Pulih hanya sah dalam penangguhan dan harus digunakan untuk debugging dengan log. Bug berpotensi tidak boleh diabaikan. Pada akhirnya, kod itu harus direka dengan kesilapan yang kembali dan bukannya panik.

Cara yang betul untuk memproses isyarat dalam aplikasi GO adalah dengan menggunakan pakej OS/isyarat untuk memantau isyarat dan melakukan penutupan elegan. 1. Gunakan isyarat.notify untuk menghantar sigint, sigterm dan isyarat lain ke saluran; 2. Jalankan perkhidmatan utama di Goroutine dan menyekat isyarat menunggu; 3. Selepas menerima isyarat, lakukan penutupan elegan dengan tamat masa melalui konteks.withtimeout; 4. Membersihkan sumber seperti sambungan pangkalan data penutup dan menghentikan Goroutine latar belakang; 5. Gunakan Signal.Reset untuk memulihkan tingkah laku isyarat lalai apabila perlu untuk memastikan bahawa program itu dapat ditamatkan dengan pasti di Kubernet dan persekitaran lain.

GotypicallyoffersbetterruntimeperformanceWithhightherthroughputandlowerlatency, terutama sekali-sekala/o-heavyservices, duetoitslightweightgoroutinesandeficientscheduler, whentjava, wifklowertostart, canmatchgoincpu-boundsafterjitoptimization.2.

Dalam GO, menentukan dan memanggil fungsi menggunakan kata kunci Func dan sintaks tetap berikut, mula -mula menjelaskan jawapan: Definisi fungsi mesti termasuk nama, jenis parameter, jenis pulangan dan badan fungsi, dan lulus dalam parameter yang sepadan apabila memanggil; 1. Gunakan funcFunctionName (params) returnType {} sintaks apabila menentukan fungsi, seperti funcadd (a, bint) int {return b}; 2. Menyokong pelbagai nilai pulangan, seperti funcDivide (a, bfloat64) (float64, bool) {}; 3. Fungsi panggilan secara langsung menggunakan nama fungsi dengan kurungan untuk lulus parameter, seperti hasil: = tambah (3,5); 4. Nilai pulangan berganda boleh diterima oleh pembolehubah atau
