Körperlose Funktionen in Go
Beim Erkunden des Quellcodes des math/floor-Pakets fallen Ihnen möglicherweise einige Codezeilen ohne Körper auf . Hierbei handelt es sich um Instanzen körperloser Funktionen, die ein besonderes Merkmal der Go-Syntax sind.
Die Funktion Floor wird beispielsweise ab Zeile 13 ohne Körper deklariert:
func Floor(x float64) float64
In Go's Aufgrund der Syntax kann eine Funktionsdeklaration den Hauptteil weglassen. Dies ermöglicht die Definition der Signatur der Funktion und gleichzeitig die Delegierung ihrer Implementierung an eine externe Quelle, beispielsweise Assembler-Code.
Die tatsächliche Implementierung körperloser Funktionen kann in Assemblerdateien gefunden werden, beispielsweise floor_ARCH.s für die AMD64-Architektur . In der Spezifikation heißt es:
„Eine Funktionsdeklaration kann den Hauptteil weglassen. Eine solche Deklaration stellt die Signatur für eine außerhalb von Go implementierte Funktion bereit, beispielsweise eine Assemblerroutine.“
Das obige ist der detaillierte Inhalt vonWas sind körperlose Funktionen in Go und wie funktionieren sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!