Warum führt die Division durch Null in Go zu einem Compilerfehler?

Patricia Arquette
Freigeben: 2024-10-29 03:00:30
Original
249 Leute haben es durchsucht

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

Division durch Null in Go: Compilerfehler vs. Warnung

In Go führt der Versuch, eine Gleitkommazahl durch Null zu dividieren, zu ein Compilerfehler, wie im Beispiel unten zu sehen:

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

Ausgabe:

prog.go:9:22: division by zero
Nach dem Login kopieren

Dieser Fehler tritt auf, weil numerische Konstanten in Go exakt sind und nicht direkt einem IEEE754-Float zugeordnet werden können Typ. Daher können sie keine Unendlichkeiten oder negative Nullen speichern.

Der Dokumentation zufolge „stellen numerische Konstanten exakte Werte beliebiger Genauigkeit dar und überlaufen nicht. Folglich gibt es keine Konstanten, die die negative IEEE-754-Null bezeichnen.“ , Unendlichkeit und Nicht-Zahlen-Werte.“

Diese Auswahl bietet einige Vorteile, wie z. B. die Reduzierung des Überlaufs in Konstanten, wie unten gezeigt:

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

Wenn Sie einen Unendlichkeitswert benötigen , können Sie den folgenden Code verwenden:

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

Das obige ist der detaillierte Inhalt vonWarum führt die Division durch Null in Go zu einem Compilerfehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage