首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从字符串动态运行go代码?

如何从字符串动态运行go代码?
EN

Stack Overflow用户
提问于 2019-09-04 18:05:29
回答 1查看 439关注 0票数 0

我需要动态执行代码,例如运行fmt.Print("hello") (字符串格式),也许我正在寻找的是go虚拟机?

使用go-playground,我们可以输入代码并执行它,这在后面是如何工作的?

最糟糕的解决方案是将字符串代码写到一个文件中,然后用exec.Command("go", "run","file")调用它。

EN

回答 1

Stack Overflow用户

发布于 2019-09-06 05:20:14

1.游乐场

使用go-playground,我们可以输入代码并执行它,它是如何工作的?

我想你回答了大部分你自己的问题。

从游乐场找到compileAndRun的源码并不需要很长时间。

最糟糕的解决方案是将字符串代码写到一个文件中,然后用exec.Command("go",“

”," file ")调用它。

是的,它使用:https://github.com/golang/playground/blob/509e10fc018f6da63e433d45afbf5c21af9480a2/sandbox.go#L361

代码语言:javascript
复制
    cmd := exec.Command("go", "build", "-o", exe, buildPkgArg)

2. Jupyter核、gore、lgo、gophernotes和gomacro

尽管这并不意味着它必须总是这样。

我自己打算在业余时间调查一下:

  • gophernotes
  • lgo
  • and gomacro本身就是用于gophernote

的软件包。

总而言之:它不像其他语言中的eval那么简单,但没有什么能阻止它的实现。

祝好运!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57786121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档