Heim >Backend-Entwicklung >Golang >Warum erhält mein Go-Programm nicht den Rückgabewert von meinem Python-Funktionsaufruf?

Warum erhält mein Go-Programm nicht den Rückgabewert von meinem Python-Funktionsaufruf?

Barbara Streisand
Barbara StreisandOriginal
2024-12-04 22:20:12797Durchsuche

Why is my Go program not receiving the return value from my Python function call?

Python-Funktionen von Go aus aufrufen und Rückgabewerte abrufen

In diesem Szenario möchten Sie eine Python-Funktion namens cat_strings aus einem Go-Programm aufrufen und greifen Sie auf seinen Rückgabewert zu. Trotz des Versuchs, den Befehl auszuführen, tritt jedoch ein Problem auf, bei dem die erwarteten Rückgabedaten fehlen.

Um dieses Problem zu beheben, sollten Sie die einfachen Anführungszeichen um den Python-Befehl selbst entfernen. Anstelle von:

program := "python"
arg0 := "-c"
arg1 := fmt.Sprintf("'import pythonfile; print pythonfile.cat_strings(\"%s\", \"%s\")'", "foo", "bar")

Verwenden Sie:

cmd := exec.Command("python",  "-c", "import pythonfile; print pythonfile.cat_strings('foo', 'bar')")

Diese Anpassung stellt sicher, dass der Python-Befehl vom System richtig interpretiert wird, was zur korrekten Ausführung Ihrer Python-Funktion führt. Folglich sollten Sie in der Lage sein, den Rückgabewert von der Funktion cat_strings in Ihrem Go-Programm zu erhalten.

Das obige ist der detaillierte Inhalt vonWarum erhält mein Go-Programm nicht den Rückgabewert von meinem Python-Funktionsaufruf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn