PythonでGolangのメソッドを呼び出す方法は何ですか?
PythonでGolangの関数を呼び出す際には、subprocessモジュールを使用してGolangの実行ファイルを起動し、標準入出力を介してデータをやり取りすることができます。
この文章を日本語で言い換えると、以下のようになります:「以下は、日本語で自然に言い換えた例です。」
- main.goファイル
package main
import "fmt"
func main() {
var input string
fmt.Scanln(&input)
fmt.Println("Golang received:", input)
}
- Golangのコードをコンパイルして、実行可能ファイルを生成する。
go build main.go
- PythonでGolangの実行可能ファイルを呼び出す:
import subprocess
# 启动Golang可执行文件
process = subprocess.Popen("./main", stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
# 向Golang发送数据
input_data = "Hello from Python"
process.stdin.write(input_data.encode())
process.stdin.close()
# 读取Golang的输出
output_data = process.stdout.read().decode().strip()
print("Python received:", output_data)
# 等待Golang进程结束
process.wait()
Pythonコードを実行すると、次の出力が表示されます。
Python received: Golang received: Hello from Python
注意,これはPythonでGolangメソッドを呼び出す方法の一つに過ぎません。CGOやRPCなど、他の方法もあります。具体的な方法の選択は、ニーズや状況によって異なります。