在以前,咱們介紹瞭如何在windows、macos以及linux平臺構建go語言的開發環境linux
[golang快速入門[2.1]-go語言開發環境配置-windows]()golang
[golang快速入門[2.2]-go語言開發環境配置-macOS]()macos
[golang快速入門[2.3]-go語言開發環境配置-linux]()vim
本文將介紹如何書寫、編譯、並運行第一個go語言程序windows
同時詳細介紹其內部機制app
首先咱們能夠在任意位置新建一個文件,命名爲main.go
編輯器
go源文件以.go做爲後綴,命名時建議統一爲小寫英文字母ide
用任意的文本編輯器(vim,notepade,emacs…)編輯文件,書寫以下代碼函數
package main import "fmt" func main() { fmt.Println("Hello, world") }
第一行 package main
: package是一個關鍵字(也叫作"包"),聲明爲main的一個packageui
每個go語言的源文件都須要以package開頭
package == 工程 == 工做空間
能夠將package理解爲一個工程,或者是一個工做空間
多個文件能夠聲明同一個package,可是必須在同一個文件夾中
聲明同一個package,表明在package中的代碼實現類似或者特定的功能
package有兩種類型,一種是聲明爲main的package,此package能夠產生能夠執行的文件。
其餘名字的package不能產生能夠執行的文件,其做爲一種依賴包,有特定的功能,能夠重複使用(例如數學計算)
第二行import "fmt"
表明程序導入了外部叫作fmt的package
這裏的fmt是go語言標準庫中的代碼,go語言內置了種類繁多的標準庫。參見:golang標準庫文檔
fmt是重要的標準庫,內置了許多輸入輸出功能,更能夠用來進行代碼調試
go語言標準庫中的代碼存儲於GOROOT環境變量中,
第三行func main 定義了一個名字爲main的函數,函數是對於執行代碼的封裝
所以,下面對整段代碼作一個總結
go是一門編譯型語言
在命令行下,cd
進入代碼所在的路徑
在命令行下編譯代碼有兩種方式,運行go run main.go
或者go build main.go
,兩者的區別以下圖所示
go run main.go
不只會編譯而且會自動運行程序
go build main.go
僅僅會編譯代碼生成main.exe(windows下是以.exe爲後綴的可執行文件,而在mac或者linux下午後綴名)
執行main.exe
在命令行輸出:Hello, world