Ich bin im Begriff, eine Bibliothek zu entwickeln, die es in Go und zusammengestellt auf ein C shared library
so geschrieben werden kann durch Sprachen wie Python
, Node.JS
, Java
und Ruby
Go c-Shared Library Rückruf in andere Sprachen
Ich habe gerade festgestellt, dass es ein Problem gibt, wenn es um Rückrufe geht. Wie kann ich in den Anrufcode zurückrufen, der mindestens eine der oben genannten Sprachen ist? Gibt es einen einzigen Weg, den ich machen kann, oder muss ich etwas Spezifisches auf der Go-Seite für jede Sprache implementieren?
Update für Klarheit:
Ich bin bereits in der Lage Go als eine Bibliothek zu bauen und den Code aus anderen Sprachen wie Java und Python ausführen.
Meine Frage bezieht sich speziell auf eine Situation, in der go etwas asynchron ausführt und in den Aufrufer (d. H. Java, Python) zurückrufen muss.
Bitte Update posten. Ich kann die Bibliothek bereits kompilieren und von Java aus aufrufen, aber ich brauche einen Callback-Mechanismus. – conor
Verfügen Sie bereits über alle systemeigenen APIs für diese Sprachen? Wenn Sie dies tun, wird wahrscheinlich klar sein, wie ein Rückruf aufgerufen wird. – dwks
Nein, ich habe nichts wirklich anderes als PoC-Bibliotheken entwickelt. Das heißt, ich werde die verbindlichen Rahmen betrachten und sehen, was sie an Ort und Stelle haben. Ich plane die Verwendung von JSON, um Komplexität zu minimieren. – conor