如何在 C# 中执行 Go 函数

Rak*_*111 5 c# go

有没有办法从 C# 执行 Go 函数?例如,对于 Python,我会使用 Ironpython。

我知道我可以生成一个进程来执行 Go 脚本,但如果可能的话,我真的不想回退到这样的解决方案。

谷歌搜索没有显示任何内容,那么有没有办法使用 API 来做到这一点?还是我必须回退流程?

小智 5

我认为弗兰克的回答是不对的!Golang 支持多种构建模式,一种是c-shared 模式,这意味着您可以像使用ac 模块一样使用它。例如:https : //www.trs.ai/c%E8%B0%83%E7%94%A8golang%E4%BB%A3%E7%A0%81/


Fra*_*yce 4

编辑:我的答案现在不正确,因为自从我发布以来 Go 已经更新了。 这个 stackoverflow 线程将帮助您解决您的问题。

原答案:

我不认为你会很幸运地找到你想要的东西。 Go 是静态链接的,而C# 不支持这一点

在 C# 中,调用预编译的可执行文件并读取输出是我能想到的最简单的事情。

  • 这个问题不再正确了。go 现在可以动态构建,并且可以从 c、c++、c# 等语言调用。 (9认同)
  • @cahitbeyaz 您可以添加一些如何在考虑 CLR 安全约束的情况下运行 golang 代码的链接吗? (2认同)