Go语言之旅
引言
Go語言并發(fā)效能極高,但也有自己的規(guī)范需要學(xué)習(xí)。
文章目錄
- 引言
- 兩條Go規(guī)則
- 引用即使用
- 謹(jǐn)慎使用花括號
- 附錄
兩條Go規(guī)則
Go具有嚴(yán)格的編碼規(guī)則,可幫助您避免愚蠢的錯誤和錯誤代碼,以及使您的代碼在Go社區(qū)中更易于閱讀。 這里就會介紹兩個必須知道的Go規(guī)則。
引用即使用
請記住,Go編譯器在這里提供幫助,不會讓您的生活痛苦不堪。 因此,Go編譯器的主要目的是編譯并提高Go代碼的質(zhì)量。 您要么使用Go軟件包,要么不包含它 Go對軟件包使用有嚴(yán)格的規(guī)定。因此,您不能只包含您可能認(rèn)為需要的任何程序包,而后不使用它。 您將在之后了解更多的有關(guān)內(nèi)容。 查看以下樸素程序,該程序另存為
Notused.go: package mainimport ("fmt""time" ) func main() {fmt.Println("Hello there!") }在本書中,您將看到很多錯誤消息,錯誤情況和警告。 我認(rèn)為,檢查無法編譯的代碼很有用,有時甚至比僅僅查看沒有任何錯誤的Go代碼更有價值。 Go編譯器通常顯示有用的錯誤消息和警告,很可能會幫助您解決錯誤的情況,因此請不要低估這些錯誤消息和警告。
如果執(zhí)行Notused.go,則會從Go中獲得下一條錯誤消息,并且該程序?qū)⒉粫?zhí)行:
如果您從程序的導(dǎo)入列表中刪除os軟件包,則NotUsed.go編譯沒問題-你可以自己試試。盡管現(xiàn)在不是開始討違背Go規(guī)則的最佳時機(jī),但是有一種方法可以 繞開此限制,方法如下在保存在NotUsedFix.go文件中的下一個Go代碼清單中:
Package main import ( “ fmt” _ “time” )func main() { fmt.Println(“Hello World!”)}即使在程序中未使用該軟件包,
在導(dǎo)入列表中的軟件包名稱前面使用下劃線字符也不會在編譯過程中產(chǎn)生錯誤消息:
謹(jǐn)慎使用花括號
接下來我們將測試名為brace.go的Go程序:
package mainimport ("fmt" )func main() {fmt.Println("謹(jǐn)慎使用花括號!") }這段代碼 盡管看起來沒問題 ,但是如果您嘗試執(zhí)行它,將會出錯,
將收到以下語法錯誤消息,并且該代碼將無法編譯,無法運行:
>go run brace.go # command-line-arguments .\brace.go:7:6: missing function body .\brace.go:8:1: syntax error: unexpected semicolon or newline before {此錯誤信息的官方解釋是,
在Go設(shè)計的時候,它的編譯器已經(jīng)被設(shè)計程在許多情況下都使用分號作為語句終止符,并且編譯器在必要時會自動插入所需的分號,比如說上面的func main()后面。
因此,將大括號({)放在下一行中將使Go編譯器在前一行(func main())的末尾插入分號,這會產(chǎn)生錯誤消息。
將({)提前后:
此時,go run brace.go會輸出
謹(jǐn)慎使用花括號。
附錄
代碼可以在公眾號回復(fù)“Go代碼1“”獲得
總結(jié)
- 上一篇: Go(GoLang)解决 cannot
- 下一篇: http 直接显示目录下文件_Linux