Skip to main content

go执行js代码

下载扩展 "github.com/robertkrimen/otto"

Js代码

function add(a,b) {
return a+b
}

go代码

/*
调用js脚本
*/
func JsParser(filePath string, functionName string, args ...interface{}) (result string) {
//读入文件
bytes, err := ioutil.ReadFile(filePath)
if err != nil {
panic(err)
}

vm := otto.New()
_, err = vm.Run(string(bytes))
if err != nil {
panic(err)
}
value, err := vm.Call(functionName, nil, args...)
if err != nil {
panic(err)
}

return value.String()
}


func main() {

rt := JsParser("./t1.js", "encrypt", 5,3)
fmt.Println(rt)

}