回答
Go程序被编译为二进制文件;我不认为有一个选项可以直接从源代码运行它们。
这与其他编译语言(如C++或Java)类似。某些语言(如Haskell)提供了完全编译模式和“脚本”模式,您可以使用shebang行直接从源代码运行。
+1 wheras Perl是一种解释型脚本语言...... –
默认情况下没有。虽然有一个名为gorun的第三方工具可以让你做到这一点。 https://wiki.ubuntu.com/gorun
不幸的是,编译器不喜欢shebang线。你不能编译你用gorun运行的相同代码。
Argh。 6g和朋友bork时,他们看到一个shebang。 – mcandre
对不起,我应该提到这一点。编辑。 –
//usr/bin/go run $0 [email protected] ; exit
例如:
//usr/bin/go run $0 [email protected] ; exit
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
去对待//为单行注释 和外壳忽略附加/
我更喜欢这样的:
///bin/true; exec /usr/bin/env go run "$0" "[email protected]"
这有与هوم的答案相比有几个优点جاویدپور:
用途“高管”,以取代推出孙子进程的新的shell进程来代替。因此,您的Go程序将是一个直接的子进程。这样更高效,对于一些高级情况也很重要,例如调试和监视。
适当引用参数。空格和特殊字符不会导致问题。
领先的“///”比“//”更符合标准。如果您只使用“//”,则会冒着碰到实现定义的行为的风险。下面是从http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html报价:
如果一个路径名具有两个连续的字符,所述第一 部件跟随前字符可能在一个实现定义的方式来解释 开始,虽然多于两个主导 字符应被视为单个字符。
我用bash,dash,zsh和ksh测试了这个答案。
例子:
///bin/true; exec /usr/bin/env go run "$0" "[email protected]"
package main
import "fmt"
func main() {
fmt.Println("你好!")
}
我想指出的是,如果你的程序os.Exit()有一个非零的退出代码,事实上是打印到stderr并去运行返回1作为退出代码。 – tmc
这也是真实的答案从هومنجاویدپور –
使用'/ bin/true'不是便携式(例如OSX和Zsh) – Kreisquadratur
- 1. 什么是shebang/hashbang?
- 2. 什么是合适的线程数
- 3. 什么是Scala的shebang线,不会破坏mimetype?
- 4. 什么是适合HTML的BLOB类型?
- 5. 什么是适合C#的Twitter SDK?
- 6. 什么是合适的循环?
- 7. 什么绘图技术是合适的?
- 8. 什么是合适的grep + sed语法?
- 9. 什么是relayjs适合的后端?
- 10. 什么是rand()的合适替代品?
- 11. MaxJSONlength适合什么?
- 12. 便携式shebang线
- 13. 什么是ASP.NET MVC不适合?
- 14. -CSDA只在shebang线上指定有什么好处?
- 15. 什么意见适合?
- 16. 这个ASP.NET MVC应用程序的合适的路线设计是什么?
- 17. find2perl perl shebang + eval的确切含义是什么?
- 18. 什么是最适合用于“clear:both”的HTML5元素?目的是什么?
- 19. 为什么我的导轨路线有点不合适?
- 20. 什么线程安全的收集适合这种情况?
- 21. 为什么setup.py通常没有shebang行?
- 22. 什么参考shebang python26或python2.6
- 23. 什么时候适合(真)回合?
- 24. #怎么样! shebang的工作?
- 25. 什么类型的项目适合Azure?
- 26. 什么JSON库很适合你的.NET?
- 27. 什么样的数据适合xsd:QName?
- 28. 什么是最适合使用.Net 4.0的MemoryMappedViewAccessors的方法?
- 29. 什么是Jro的不适合Avro的scenerio
- 30. 什么是最适合jQuery的强大的JavaScript UI框架?
围棋编译。你不应该需要一个shebang。对? –
[golang-nuts的讨论主题](https://groups.google.com/d/msg/golang-nuts/iGHWoUQFHjg/hEhYPQjP3HcJ)其中有一篇文章与[هومنجاویدپور]类似(http://stackoverflow.com/users/1040891)的[answer](http:// stackoverflow。com/a/17900932/109747) –