Maison >développement back-end >Golang >Comment une fonction Golang peut-elle se compiler sans corps ?
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 }
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!