Go调用js代码
运行 js 代码
import (
"fmt"
"github.com/robertkrimen/otto"
)
func main() {
vm := otto.New()
result, _ := vm.Run(`
foo = 1 + 2
console.log(foo)
result = foo;
`)
fmt.Println(result) // 4
}
调用函数
func main() {
vm := otto.New()
vm.Run(`
function hello(name){
console.log('hello ' + name)
return 'OK'
}
`)
ret, _ := vm.Call("hello", nil, "kuizuo")
fmt.Println(ret)
}
这里以 go 调用 js 的 CryptoJS 来实现加密演示。
func main() {
bytes, _ := ioutil.ReadFile("md5.js")
vm := otto.New()
vm.Run(string(bytes))
ret, _ := vm.Call("MD5", nil, "a123456")
fmt.Println(ret)
}