Maison > développement back-end > Golang > Comment une fonction Golang peut-elle se compiler sans corps ?

Comment une fonction Golang peut-elle se compiler sans corps ?

Linda Hamilton
Libérer: 2024-12-29 01:30:10
original
979 Les gens l'ont consulté

How Can a Golang Function Compile Without a Body?

Fonctions sans corps dans Golang

Dans le code source de math/floor.go, une fonction nommée Floor est déclarée sans corps. L'extrait de code est le suivant :

func Floor(x float64) float64

func floor(x float64) float64 {
    if x == 0 || IsNaN(x) || IsInf(x, 0) {
        return x
    }
    if x < 0 {
        d, fract := Modf(-x)
        if fract != 0.0 {
            d = d + 1
        }
        return -d
    }
    d, _ := Modf(x)
    return d
}
Copier après la connexion

Malgré le corps manquant, la fonction Floor se compile avec succès. En effet, les fonctions de Go peuvent être implémentées en dehors du langage lui-même, comme en assembleur. L'implémentation de l'assembly pour floor peut être trouvée dans des fichiers comme floor_ARCH.s (par exemple, AMD64).

La spécification du langage Go autorise les déclarations de fonction sans corps :

Une déclaration de fonction peut omettre le corps. Une telle déclaration fournit la signature d'une fonction implémentée en dehors de Go, telle qu'une routine d'assemblage.

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