共計 2446 個字符,預計需要花費 7 分鐘才能閱讀完成。
如何配置 Go 應用程序,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
Go 正在成為流程的編程語言。
每個編程語言都有自己的語法或結構,有屬于自己的風格,這才是每個語言的獨特所在。Go 語言也不例外,它以自己的方式,輕松優(yōu)雅,讓軟件開發(fā)變得更有趣。
Go 程序結構
要了解 Go 程序的結構,先寫一下 Go 程序,我們先重新審核我們最喜愛的 Hello,World! 程序。
package main import fmt func main() { fmt.Println( Hello, World!)}
每個源文件均以.go 擴展名為結構,頭部首行必須進行包聲明。在上面的 helloworld.go 文件中,第一行的 package main 告訴 go 編譯器,這個源文件將包含 go 的入口 main(主函數(shù))函數(shù)。包聲明和主函數(shù)這種組合使它成為一個獨立的可執(zhí)行 go 程序。
在上面的代碼中,是打印字符串到控制臺,這是標準輸出。為此,我們使用 import 關鍵字導入 fmt 包。fmt 軟件包是 format 的綜合,它附帶了 Go 標準庫。
fmt 軟件包提供了許多用于寫入標準輸出的選項。接下來我們會分別講解導入多個包的語法。
運行 Go 程序
我們使用 go run 或 go build 來運行相關 Go 程序。使用這些命令,來告訴 Go 編譯器來運行 Go 程序。
使用 go 運行 hello-world.go
我們還可以使用 go build 命令,該命令將生成一個叫做 hello-world 的可執(zhí)行文件,它可以像其它可以的執(zhí)行文件一樣脫離 go 來獨立運行。
某此時候,我們可能希望更改可執(zhí)行文件的名字,可以使用 go build -o file-name 命令來實現(xiàn),該命令會創(chuàng)建一個可執(zhí)行的二進制文件。例如:
$go build -o exe #being in the hello-world directory
$./exe #running the executable Hello,World!
還有一些時候,我們希望讓自己的應用程序可以被安裝。我們使用 go install package-name 命令。該命令會創(chuàng)建一個二進制可執(zhí)行文件并存儲到 $GOPATH/bin 目錄中。
我們需要確定將 GOBIN 添加到系統(tǒng)的 PATH 環(huán)境變量中,這樣就可以在系統(tǒng)的任何地方運行該二進制文件。
代碼注釋
在正確的位置添加代碼注釋,與編寫可維護的代碼同樣重要。
在 Go 中,注釋不僅僅是添加關聯(lián)解釋的一種方式,同時也是一種記錄 API 的良好方式。我們將在討論函數(shù)時看到它們。
有兩種代碼注釋:一種是行注釋,一種是塊注釋。
1. 行注釋,使用 // 開頭,后面就是注釋掉的文本
2. 塊注釋是將文本放在 /* 和 */ 之間。以下是兩個例子:
// package main defines the entry point
package main
// import the fmt package from standard library
import fmt
/*
The main function is the entry point in a Go program.
The main function does not have a return type.
Also, it does not accept any parameters.
*/
func main() {
fmt.Println(Hello, World!)
}
為什么沒有分號
正如您在上面的代碼中所觀察到的那樣,我們的代碼中沒有放置單個分號。嗯,那是因為幕后 Go 為你做了。與 C 一樣,Go 的語法也使用分號來終止語句,但它們不必出現(xiàn)在源代碼中。以下是 Go 文檔所說的內容:
與 C 一樣,Go 的形式語法使用分號來終止語句,但與 C 語言不同,這些分號不會出現(xiàn)在源語句中。相反,詞法分析器使用一個簡單的規(guī)則在掃描時自動插入分號,因此輸入文本大多沒有分號。
規(guī)則是這樣的:如果換行符之前的最后一個標記是一個標識符(包括 int 和 float64 類的單詞),一個基本文字,如數(shù)字或字符串常量,或其中一個標記 break continue fallthrough return ++ — ) }
詞法分析器總是在令牌后插入分號。這可以概括為“如果換行符出可以結束語句的標記,則插入分號”。
在結束括號之前也可以省略分號,因此諸如 tokens break continue fallthrough return ++ — ) } 的語句 tokens break continue fallthrough return ++ — ) }
不需要分號。
tokens break continue fallthrough return ++ — ) }
要閱讀有關內幕的更多信息,請繼續(xù)花些時間閱讀 Go Docs。
重新代碼守則
如前所述,每個獨立應用程序必須具有 package main 聲明,并且具有此聲明的.go 文件必須具有 main 函數(shù)。這個 main 功能是我們應用程序的入口點,就像其他編程語言一樣,如 C,Java,C#等。
不同的是,在 Java 或 C#中,main 函數(shù)可以接受參數(shù)(string [],args),而在 Go 中 main 函數(shù)不接受任何參數(shù)。此外,主要功能不返回任何內容。
請注意我們如何導入 fmt 包:import fmt。僅當我們導入單個包時,此語法才有效。如果我們要導入多個包,那么我們需要在 import () 對包進行分組。這是一個例子:
// importing multiple packages in Go import (context database/sql fmt log)
請注意,我們還沒有放一個; 在任何導入包的末尾,因為這將由詞法分析器為我們完成。
小結
Go 有一個非常簡單的程序結構,其感覺和讀取更像是 C. 遵循相同的模式,我們將 main 功能作為我們應用程序的入口點。Go 提供了一種編寫干凈代碼的便捷方式,可以在需要時巧妙地插入分號。我們的代碼中的邏輯描述有不同類型的注釋。稍后我們將看到這些注釋如何為我們的包構建文檔。
看完上述內容,你們掌握如何配置 Go 應用程序的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!