如何用Golang实现运行JavaScript的示例代码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1331个文字,预计阅读时间需要6分钟。
C++确实让人头疼(难),想尝试在V8中集成本地JavaScript,有一些挑战。虽然V8社区出现了几个JavaScript引擎,但尝试在另一种语言中集成JavaScript是个不错的选择。以下是一个示例,选择了github.com/dop251/goja来作为示例。
bash选择github.com/dop251/goja作为示例。
C++太麻烦(难)了,想要盘弄一下V8实在是有些费劲,但是Golang社区出了几个Javascript引擎,要尝试在别的语言中如何集成Javascript,是个不错的选择。以下选了github.com/dop251/goja 来做例子。
Hello world
照着仓库的Readme,来一个:
package main import ( "fmt" js "github.com/dop251/goja" ) func main() { vm := js.New() // 创建engine实例 r, _ := vm.RunString(` 1 + 1 `) // 执行javascript代码 v, _ : = r.Export().(int64) // 将执行的结果转换为Golang对应的类型 fmt.Println(r) }
这个例子展示了最基本的能力,给定一段Javascript的代码文本,它能执行得到一个结果,并且能得到执行结果的宿主语言的表示形式。
本文共计1331个文字,预计阅读时间需要6分钟。
C++确实让人头疼(难),想尝试在V8中集成本地JavaScript,有一些挑战。虽然V8社区出现了几个JavaScript引擎,但尝试在另一种语言中集成JavaScript是个不错的选择。以下是一个示例,选择了github.com/dop251/goja来作为示例。
bash选择github.com/dop251/goja作为示例。
C++太麻烦(难)了,想要盘弄一下V8实在是有些费劲,但是Golang社区出了几个Javascript引擎,要尝试在别的语言中如何集成Javascript,是个不错的选择。以下选了github.com/dop251/goja 来做例子。
Hello world
照着仓库的Readme,来一个:
package main import ( "fmt" js "github.com/dop251/goja" ) func main() { vm := js.New() // 创建engine实例 r, _ := vm.RunString(` 1 + 1 `) // 执行javascript代码 v, _ : = r.Export().(int64) // 将执行的结果转换为Golang对应的类型 fmt.Println(r) }
这个例子展示了最基本的能力,给定一段Javascript的代码文本,它能执行得到一个结果,并且能得到执行结果的宿主语言的表示形式。

