Generische numerische Funktionen in Go schreiben
Wenn man in Go mit verschiedenen numerischen Typen arbeitet, kann es sein, dass man Funktionen benötigt, die damit umgehen können beliebige numerische Daten. Hier untersuchen wir, wie dieser Anwendungsfall in Go 1.18 und höher angegangen werden kann, sowie mögliche Lösungen für frühere Versionen.
Go 1.18 und höher:
Mit der Einführung von Typ Parameter in Go 1.18 ist das Definieren einer generischen Funktion unkompliziert.
func add[T Number](a, b T) T { return a + b; }
Hier stellt T den Typparameter dar, der durch die eingeschränkt wird Nummernschnittstelle. Diese mit dem Paket golang.org/x/exp/constraints definierte Schnittstelle stellt sicher, dass T ein numerischer Typ ist. Dieser Ansatz ermöglicht die Verwendung von zwei beliebigen numerischen Typen (Ganzzahl oder Gleitkomma) als Argumente, und die Funktion gibt das Ergebnis mit demselben Typ zurück.
Frühere Versionen von Go:
In früheren Go-Versionen gibt es einige Methoden, um mit dieser Situation umzugehen:
Schlussfolgerung:
Die bevorzugte Lösung hängt von der verwendeten Go-Version ab. Für Go 1.18 und höher ist der generische Funktionsansatz mit Typparametern und der Zahlenbeschränkung am prägnantesten und effizientesten. Bei früheren Versionen müssen Sie zwischen der Konvertierung in Float oder der Verwaltung typspezifischer Funktionen wählen.
Das obige ist der detaillierte Inhalt vonWie kann ich generische numerische Funktionen in Go schreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!