go-pry是使用元编程和大量反射的组合构建的。 当你调用go-pry命令时,它会查看上述目录中的Go文件(或者像go-pry build这样的情况下的当前文件)并处理它们。 由于Go是一种编译语言,因此无法动态获取范围变量,即使存在,也会自动删除未使用的导入以进行优化。 因此,go-pry必须找到pry.Pry()的每个实例并注入一大堆代码,这些代码包含对范围变量和函数以及导入包的所有引用。 执行此操作时,它会将文件的副本复制到。 .gopry并修改 .go,然后将命令参数传递给标准go命令。 命令退出后,将恢复文件。

go-pry演示

go-pry演示
安装go-pry
go get github.com/d4l3k/go-pry go install -i github.com/d4l3k/go-pry
将pry语句添加到代码中
package main import "github.com/d4l3k/go-pry/pry" func main() { a := 1 pry.Pry() }
像往常一样使用go命令运行代码。 go-pry只是一个包装。
# Run go-pry run readme.go
如果要使完成正常工作,还要安装gocode(如果系统中未安装)
go get -u github.com/nsf/gocode
github地址:https://github.com/d4l3k/go-pry
转载请注明:快乐编程 » go-pry 一个交互式REPL