要注意的是,因為Go語言很新,比你我年紀都還小(應該吧?)
每次推新的版本時,很常出現實驗性的功能、套件。
例如:
v1.5版本時推出Vendor套件 來管理套件
v1.11版本出現Go Modules(Go Mod) 方式來管理套件
所以在網路上尋找解答時,一定要注意該篇文章用的是哪個版本。
專案(Project)可以由多個包(Package)組成包(Package)可以有多支程式(.go file)
包(Package)底下的程式(.go file)彼此全域變數及函式可以互見,就像在同一支程式裡一樣包(Package)的名稱 為包所在的資料夾名稱
程式(.go fle)只能屬於一個包(Package)
程式(.go fle)可以有多個變數、函式(function)
程式(.go file)的名稱 不一定要等同於資料夾或包(Package)的名稱主程式(package main)
主程式(package main)代表我們可以主動 go run 執行這包程式package main
func main()
func main(){}就是執行專案時程式的進入點簡單來說,
Project(專案) > Package(程式包) > .go file(程式檔) > Function(函式)一個子資料夾內的程式都是同一個Package
同一個Package都在同一個子資料夾內
同一個資料夾(Package)內的函式、結構及變數互通當然你不要這樣放(有些情況)也是可以,但是慣例、官方範例、各大套件都是這樣放
之前在學習其他程式語言階段,都是直接上網Google用法,搜尋結果出來中英文的教學都有,但當然有中文就看中文。
但在開始碰Go之後,用到的任何函式、Github上的套件、基本上就是看官方文件了,尤其README.md一定要看,通常會有安裝步驟及套件基本用法。
因為等到有中文翻譯可能是兩三個月之後,而屆時的版本可能又有更動,
且網路上的教學不一定正確,官方的文件比較可靠(...官方文件也不一定百分之百正確,之前就有用過 程式碼更新、文檔或範例程式卻沒有一併更新的)
連官方文件都不一定可靠,那該怎麼辦?
別擔心,這種狀況少之又少,但100%可靠的是 直接Trace Source Code,看套件程式怎麼寫、就怎麼套著用。
甚至有時候直接看程式碼、比落落長的文字敘述,表達的意思還要更佳流暢。
這也是推薦使用Goland IDE的主要原因之一,對著程式碼的語法按下Command+左鍵(或Ctrl+左鍵)就能追蹤這個用法的來源程式哩。