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>
Ausgabe:
prog.go:9:22: division by zero
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>
Wenn Sie einen Unendlichkeitswert benötigen , können Sie den folgenden Code verwenden:
<code class="go">var x float64 = math.Inf(1)</code>
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!