Golang
的 eval()
函数第三方实现。
众所周知,Golang
是一门静态语言,笔者作为动态语言转过来的老同志(别猜了我是phper),习惯了用 eval()
就想着Go 动态执行代码呢。
如何在 golang
中使用 eval()
函数,php
,javascript
自带该功能。golang 官方是没有提供相关库的。
在丰富的Go第三方生态中,着实没找到相关的库。倒是看到有人做了一个demo 挂到博客。我就来拿来改改,做成了一个库,望广大 gopher
用的满意。
$ go get github.com/PaulXu-cn/goeval
这个 goeval 库,传入 golang
代码字符串,然后执行 eval()
函数,就能获得该 字符串代码
输出到 stdout
上的内容。
使用例子:
package main
import (
"fmt"
eval "github.com/PaulXu-cn/goeval"
)
func main() {
if re, err := eval.Eval("", "fmt.Print(\"Hello World itjsz.com\")", "fmt"); nil == err {
fmt.Print(string(re))
} else {
fmt.Print(err.Error())
}
}
输出:
Hello World itjsz.com
这里我们引入了 goeval
包,调用它的 Eval 函数,第一个参数是,结构体定义代码(由于代码中没有有用自定义结构体,所有这里传空), 第二个字符串是要执行的代码,第三及以后的字符串是import的包。
import
的包可以多,但不能少。tmp
目录下随机创建一个目录,并进入main.go
文件go run main.go
并收集 stdout
main.go
本文没有咬文嚼字的地方,只是一个配色技巧的分享,十分简单,简单到流泪,但或...
作者:Joe Seifi 译者:前端小智 移动: https://mp.weixin.qq.com/s/p5... 有梦...
1、纯工具操作步骤,懂代码更容易 划线就是不符合国人的审美观念,看着就别扭,...
折叠式卡片布局在PC版网站中可能不常见,但是在手机版,小屏幕的网页浏览会大发...
在默认情况之下,如果在Canvas之中将某个物体(源)绘制在另一个物体(目标)之...
背景 在公司参与一个原生APP和h5混合开发的项目,本人在项目中负责h5部分,现将...
一、虽然有的属性是boolean类型,但仍旧建议按照XHTML书写(属性名=属性值)格式...
前言 Canvas绘制多变形非常简单,只要懂得Canvas路径 + 简单的初中数学知识即可...
1.先瞧瞧效果: 2.代码是这样的: img src=images/circle.png alt= id=circle/@m...
简介: 6月4日,以“开启分布式云新时代”为主题2021云边协同大会在北京举行,本...