Go のボディーレス関数
提供されたコードは、Floor 関数がボディーレスであり、関数本体がないように見えるという特殊な状況を示しています。これは math/floor.go のソース コードを調べるときに発生する可能性があります。
調査すると、この現象は意図的なものであることが明らかになります。 Go では、アセンブリで記述された実装に対して本体のない関数が許可されます。実際の実装は、floor_ARCH.s ファイル (AMD64 など) にあります。
Go 仕様に記載されているとおり:
A function declaration may omit the body. Such a declaration provides the signature for a function implemented outside Go, such as an assembly routine.
この規定により、低レベル関数を一貫性のある適切に型指定された Go インターフェイスを維持しながら、アセンブリで定義されます。
以上が「math.Floor」などの一部の Go 関数はなぜ実体がないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。