Go ermöglicht die Interaktion mit anderen Sprachen über CGO und externe Anrufe (FFI). CGO wird zum Aufrufen von C-Code verwendet, während FFI zum Aufrufen von Funktionen in JavaScript, Python und anderen Sprachen verwendet werden kann. Beispielsweise können Sie mit FFI die Python-Funktion sum_numbers aufrufen, sodass Sie sie mit Go-Code in JavaScript verwenden können.
Go bietet leistungsstarke Unterstützung, die es Ihnen ermöglicht, in anderen Sprachen geschriebene Funktionen zu verwenden, ohne Ihren Go-Code zu verlassen. So geht's:
Mit CGO
CGO ermöglicht Ihnen den Aufruf von C-Code. So verwenden Sie es:
// #include <stdio.h> import "C" func main() { C.printf("Hello, world!\n") }
Mit External Invocation (FFI)
Mit FFI können Sie Funktionen in anderen Sprachen wie JavaScript und Python aufrufen. So verwenden Sie FFI zum Aufrufen einer JavaScript-Funktion:
package main import ( "github.com/gopherjs/gopherjs/js" ) func main() { js.Global.Get("document").Get("getElementById").Invoke("myElement") }
Praktisches Beispiel: Aufrufen einer Python-Funktion
Angenommen, Sie haben die folgende Python-Funktion:
def sum_numbers(a, b): return a + b
Sie können FFI verwenden, um diese Funktion in Go aufzurufen:
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) }
Wenn Sie diesen Code ausführen, ruft er eine Python-Funktion in JavaScript auf und gibt das Ergebnis aus.
Hinweis:
Die Verwendung von FFI erfordert ein genaues Verständnis der API der Zielsprache. Es stehen auch Bibliotheken von Drittanbietern zur Verfügung, um FFI zu erleichtern, wie zum Beispiel [github.com/gonum/cgo](https://github.com/gonum/cgo).
Das obige ist der detaillierte Inhalt vonWie interagieren Golang-Funktionen mit anderen Sprachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!