Maison > développement back-end > Golang > Pourquoi certaines fonctions Go, comme « math.Floor », sont-elles sans corps ?

Pourquoi certaines fonctions Go, comme « math.Floor », sont-elles sans corps ?

Linda Hamilton
Libérer: 2024-12-25 21:14:22
original
702 Les gens l'ont consulté

Why Are Some Go Functions, Like `math.Floor`, Bodiless?

Fonctions sans corps dans Go

Le code fourni présente une situation particulière dans laquelle la fonction Floor apparaît sans corps, dépourvue de corps fonctionnel. Cela peut être rencontré lors de l'examen du code source de math/floor.go.

Après enquête, il devient clair que ce phénomène est intentionnel. Dans Go, les fonctions sans corps sont autorisées pour les implémentations écrites en assembly. L'implémentation réelle peut être trouvée dans les fichiers floor_ARCH.s (par exemple, pour AMD64).

Comme indiqué dans la spécification 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.
Copier après la connexion

Cette disposition permet aux fonctions de bas niveau d'être défini dans l'assembly tout en conservant une interface Go cohérente et bien typée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal