回答
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. 什麼繪圖技術是合適的?
- 5. 什麼是適合HTML的BLOB類型?
- 6. 什麼是適合C#的Twitter SDK?
- 7. 什麼是合適的grep + sed語法?
- 8. 什麼是合適的循環?
- 9. html5適合IE6的功能是什麼?
- 10. 什麼是合適的算法?
- 11. 什麼是rand()的合適替代品?
- 12. 什麼是relayjs適合的後端?
- 13. MaxJSONlength適合什麼?
- 14. 便攜式shebang線
- 15. 什麼是ASP.NET MVC不適合?
- 16. -CSDA只在shebang線上指定有什麼好處?
- 17. find2perl perl shebang + eval的確切含義是什麼?
- 18. 什麼時候合適?
- 19. 什麼意見適合?
- 20. 這個ASP.NET MVC應用程序的合適的路線設計是什麼?
- 21. 什麼是適合存儲少量元素的集合類型?
- 22. 什麼是最適合用於「clear:both」的HTML5元素?目的是什麼?
- 23. 爲什麼setup.py通常沒有shebang行?
- 24. 什麼參考shebang python26或python2.6
- 25. 爲什麼我的導軌路線有點不合適?
- 26. 什麼線程安全的收集適合這種情況?
- 27. 什麼時候適合(真)回合?
- 28. #怎麼樣! shebang的工作?
- 29. 什麼JSON庫很適合你的.NET?
- 30. 什麼樣的數據適合xsd:QName?
圍棋編譯。你不應該需要一個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) –