如何在golang中动态运行函数?

时间:2017-05-23 15:30:55

标签: go

内部play.golang.org如何编译并运行go代码?

我有一个字符串函数。我需要检查语法并在golang main函数中运行代码。

2 个答案:

答案 0 :(得分:3)

将代码发送到服务器进行编译和执行,然后将输出发送回客户端(浏览器)。

有一篇关于它如何运作的文章:https://blog.golang.org/playground

答案 1 :(得分:0)

Go代码有点难以动态运行。你可以检查"使用parser包的语法,尽管在go下使用这些包可能有点棘手。要实际运行它,您可能需要:

  1. 将该函数保存到临时目录,可能会生成一个main来调用它。
  2. 执行go编译器生成可执行文件
  3. 运行已编译的二进制文件,可能将stdin和stdout传递给父进程。
  4. 通过stdin / stdout与它通信直到它退出
  5. 这显然是一个很大的困难而且非常痛苦。

    如果不严格要求go,则有多个scripting languages与go实现。如果您提供javascript或lua或任何代码,则可以动态运行。