gorun是一个工具,可以在Go程序的源代码中放置“爆炸线”来运行它,或者明确运行这样的源代码文件。 它的创建旨在试图让Go更加吸引那些习惯于Python和类似语言的人们,他们使用源代码进行最明显的操作。
项目地址:https://github.com/erning/gorun
一、安装环境:
系统:Ubuntu 16.04.3 LTS
Go 版本:go1.9.1
如果没有安装好go 环境,请先安装go环境
sudo add-apt-repository ppa:gophers/go sudo apt-get update sudo apt-get install golang
使用git 安装gorun
go get github.com/erning/gorun
安装结果:
./gorun usage: gorun <source file> [...]
做个软连接,可以全局使用
sudo ln -s /home/www/golang/gopath/bin/linux_386/gorun /usr/bin/gorun
编写脚本 gorun_script.go
cat gorun_script.go #!/usr/bin/env gorun package main func main() { println("Hello gorun!") }
赋予指定权限
chmod u+x gorun_script.go
执行该脚本
./gorun_script.go Hello gorun!
二、性能测试(python比较)
测试文件:hello.go
cat hello.go package main import "fmt" func main() { fmt.Println("Hello World!") }
go执行结果
www@TinywanAliYun:~/golang$ time gorun hello.go Hello World! real 0m0.199s user 0m0.152s sys 0m0.020s www@TinywanAliYun:~/golang$ time gorun hello.go Hello World! real 0m0.002s user 0m0.000s sys 0m0.000s
python执行结果
www@TinywanAliYun:~/golang$ time python -c 'print "Hello world123!"' Hello world123! real 0m0.010s user 0m0.008s sys 0m0.000s www@TinywanAliYun:~/golang$ time python -c 'print "Hello world123!"' Hello world123! real 0m0.011s user 0m0.008s sys 0m0.004s
php 语言
www@TinywanAliYun:~/golang$ time php hellp.php Hello World real 0m0.019s user 0m0.012s sys 0m0.004s www@TinywanAliYun:~/golang$ time php hellp.php Hello World real 0m0.020s user 0m0.004s sys 0m0.012s
请注意 gorun 第二次运行的速度比第一次快得多。 发生这种情况是因为在第一次编译后使用了该文件的缓存版本。
gorun会在需要时正确重新编译文件。