seaconch 最近在學習 Go 語言編程,基礎部分尚未看完,不過只看不練,或者只過一遍仍是感受不夠牢固,因此決定經過文章來記錄、而且梳理一下已瞭解過的知識。linux
Go 編寫的代碼文件都以 .go
結尾。編程
這裏假設咱們有一個名爲: main.go
的文件。windows
那想要將 main.go
生成一個可執行的應用程序,至少要是以下內容 :函數
package main func main() { }
編譯生成學習
go build main.go
是能夠經過的,成功的生成了 main.exe
。ui
只是這樣作並無任何意義,因此說真正意義上咱們要編寫一個 Go 程序 至少是下面這樣的 :code
package main import "fmt" func main() { fmt.Println("hello go") }
go build main.go
以後運行 main.exe
編譯
輸出結果:import
hello go
簡單點來講:基礎
package main
:表示這個包叫 main
import "fmt"
:導入一個 fmt
包
func main () { ... }
: 一個叫 main
的函數
注意:
package
必須是有效代碼的第一行main包
只能有一個import
導入的包,必須是被使用的main 函數
在 main 包
只能有一個,而且確定要有一個1.main包
所在文件必須叫 main.go
嗎 ? 答案:不是
2.main包
能夠寫多個 .go
文件嗎 ? 答案:能夠
3.同目錄
能夠有多個包名嗎 ? 答案:能夠,但不能夠同時編譯
4.自定義包
應該如何規劃目錄? 答案:最好是將同一個包的不一樣文件(.go
)放在同一個目錄,目錄名建議以包名命名
5.自定義包
如何導入 main.go 中使用? 答案:自定義包須要添加相對路徑,如:"./pkg_1",以後經過pkg_1.方法 / 屬性
6.自定義包
能夠有 Main
函數嗎 ? 答案:能夠,徹底不受影響
7.自定義包
如何區分公共成員與私有成員 ? 答案:大寫字母開頭
公共,其餘
私有
8.main包 分紅多個.go文件
如何編譯 ? 答案:windows 上 go build
,linux 上 go build *.go
以上都是 seaconch 在學習中遇到的問題總結,但願能幫到你們。