Körperlose Funktionen in Go
Der bereitgestellte Code stellt eine besondere Situation dar, in der die Floor-Funktion körperlos erscheint und keinen Funktionskörper hat. Dies kann bei der Untersuchung des Quellcodes von math/floor.go festgestellt werden.
Bei der Untersuchung wird klar, dass dieses Phänomen beabsichtigt ist. In Go sind körperlose Funktionen für in Assembler geschriebene Implementierungen zulässig. Die eigentliche Implementierung kann in den Dateien „floor_ARCH.s“ gefunden werden (z. B. für AMD64).
Wie in der Go-Spezifikation angegeben:
A function declaration may omit the body. Such a declaration provides the signature for a function implemented outside Go, such as an assembly routine.
Diese Bestimmung ermöglicht die Ausführung von Low-Level-Funktionen in der Assembly definiert und gleichzeitig eine konsistente, gut typisierte Go-Schnittstelle beibehalten.
Das obige ist der detaillierte Inhalt vonWarum sind einige Go-Funktionen wie „math.Floor' körperlos?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!