Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Pembahagian oleh Zero in Go Menghasilkan Ralat Pengkompil?

Mengapa Pembahagian oleh Zero in Go Menghasilkan Ralat Pengkompil?

Patricia Arquette
Patricia Arquetteasal
2024-10-29 03:00:30260semak imbas

Why Does Division by Zero in Go Result in a Compiler Error?

Pembahagian mengikut Sifar dalam Go: Ralat Pengkompil lwn. Amaran

Dalam Go, cuba membahagikan nombor titik terapung dengan sifar menghasilkan ralat pengkompil, seperti yang dilihat dalam contoh di bawah:

<code class="go">func main() {
    var y float64 = 0.0
    var x float64 = 4.0 / y
    fmt.Println(x)
}</code>

Output:

prog.go:9:22: division by zero

Ralat ini berlaku kerana pemalar berangka dalam Go adalah tepat dan tidak dipetakan terus ke mana-mana apungan IEEE754 menaip. Akibatnya, mereka tidak boleh menyimpan infiniti atau sifar negatif.

Menurut dokumentasi, "Pemalar berangka mewakili nilai tepat ketepatan sewenang-wenangnya dan tidak melimpah. Akibatnya, tiada pemalar yang menunjukkan sifar negatif IEEE-754 , nilai infiniti dan bukan-nombor."

Pilihan ini memberikan beberapa faedah, seperti mengurangkan limpahan dalam pemalar, seperti yang ditunjukkan di bawah:

<code class="go">var x float64 = 1e1000 / 1e999 // yes, this is 10</code>

Jika anda memerlukan nilai infiniti , anda boleh menggunakan kod berikut:

<code class="go">var x float64 = math.Inf(1)</code>

Atas ialah kandungan terperinci Mengapa Pembahagian oleh Zero in Go Menghasilkan Ralat Pengkompil?. 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