Go permet l'interaction avec d'autres langages via CGO et appels externes (FFI). CGO est utilisé pour appeler du code C, tandis que FFI peut être utilisé pour appeler des fonctions en JavaScript, Python et d'autres langages. Par exemple, vous pouvez utiliser FFI pour appeler la fonction Python sum_numbers afin de pouvoir l'utiliser avec du code Go en JavaScript.
Go fournit un support puissant qui vous permet d'utiliser des fonctions écrites dans d'autres langages sans quitter votre code Go. Voici comment procéder :
Utiliser CGO
CGO vous permet d'appeler le code C. Voici comment l'utiliser :
// #include <stdio.h> import "C" func main() { C.printf("Hello, world!\n") }
Utilisation de l'invocation externe (FFI)
FFI vous permet d'appeler des fonctions dans d'autres langages, tels que JavaScript et Python. Voici comment appeler une fonction JavaScript en utilisant FFI :
package main import ( "github.com/gopherjs/gopherjs/js" ) func main() { js.Global.Get("document").Get("getElementById").Invoke("myElement") }
Exemple pratique : Appeler une fonction Python
Supposons que vous ayez la fonction Python suivante :
def sum_numbers(a, b): return a + b
Vous pouvez appeler cette fonction en Go en utilisant FFI :
package main import ( "github.com/gopherjs/gopherjs/js" ) func main() { pyFunc := js.Global.Get("sum_numbers") result := pyFunc.Invoke(js.MakeWrapperType(1), js.MakeWrapperType(2)) js.Global.Get("console").Call("log", result) }
Lorsque vous exécutez ce code, il appelle une fonction Python en JavaScript et imprime le résultat.
Remarque :
L'utilisation de FFI nécessite une compréhension précise de l'API du langage cible. Il existe également des bibliothèques tierces disponibles pour faciliter FFI, telles que [github.com/gonum/cgo](https://github.com/gonum/cgo).
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!