前面我們介紹了Golang的環境搭建,如何安裝、配置Golang環境、配置Go工作目錄:GOPATH。
通過前面學習想必大家已經對Golang有了一定的了解,那要怎麼來建立一個Go語言程式呢?下面就來領大家實作一個簡單的程式:helloworld。
一、建立第一個GO程式helloworld
下面建立我們第一個Go程式,helloworld。其實非常簡單,僅需要幾行代碼就可以搞定,如下所示:
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World!")
}
将上面的程式儲存成 helloworld.go,然後在指令行中執行:
go run helloworld.go
我們看到程式成功輸出:Hello World!,說明我們的第一個Golang程式運作成功。
二、代碼介紹
上面,我們成功建立并運作了一個helloworld.go 。雖然程式運作了,但是,想必大家也許不明白這些代碼的含義,沒關系,下面就來一一介紹:
1. package(聲明main包)
Go語言以“包”作為管理機關,每個 Go 源檔案必須先聲明它所屬的包,是以我們會看到每個 Go 源檔案的開頭都是一個 package 聲明,格式如下:
package mian
其中 package 是聲明包名的關鍵字,main 為具體包的名字。
Go語言的包與檔案夾是一一對應的,它具有以下幾點特性:
- 一個目錄下的同級檔案屬于同一個包。
- 包名可以與其目錄名不同。
- main 包是Go語言程式的入口包,一個Go語言程式必須有且僅有一個 main 包。如果一個程式沒有 main 包,那麼編譯時将會出錯,無法生成可執行檔案。
2. import(導入包)
在包聲明之後,是 import 語句,用于導入程式中所依賴的包,導入的包名使用雙引号
""
包圍,格式如下:
import "fmt"
其中 import 是導入包的關鍵字,fmt為所導入包的名字,是Go提供的标準庫。
需要注意的是,導入的包中不能含有代碼中沒有使用到的包,否則Go編譯器會報編譯錯誤,例如
imported and not used: "xxx"
,"xxx" 表示包名。
3. main 函數
通過
func main()
建立了一個 main 函數,它是Go語言程式的入口函數,也即程式啟動後運作的第一個函數。main 函數隻能聲明在 main 包中,不能聲明在其他包中,并且,一個 main 包中也必須有且僅有一個 main 函數。這個跟C或是C++類似。
main 函數是自定義函數的一種,在Go語言中,所有函數都以關鍵字 func 開頭的,定義格式如下所示:
func 函數名 (參數清單) (傳回值清單){
}
格式說明如下:
- 函數名:由字母、數字、下畫線
組成,其中,函數名的第一個字母不能為數字,并且,在同一個包内,函數名稱不能重名。_
- 參數清單:一個參數由參數變量和參數類型組成,例如
。func foo( a int, b string )
- 傳回值清單:可以是傳回值類型清單,也可以是參數清單那樣變量名與類型的組合,函數有傳回值時,必須在函數體中使用 return 語句傳回。
注意:Go語言函數的左大括号
{
必須和函數名稱在同一行,否則會報錯。
4. fmt.Println("Hello World!")
調用fmt包中的Println函數格式化輸出相關的内容。比如字元串、整數、小數等,與C語言中printf 函數類似。
另外,我們看到Go語言不需要使用
;
來作為結束符,Go 編譯器會自動幫我們添加,當然,在這裡加上
;
也是可以的。
三、編譯&運作
Golang提供了go test、go run、go build 、指令主要是用于測試、編譯、運作、打包程式。在包的編譯過程中,若有必要,會同時編譯與之相關聯的包。
- go build 指令主要用于打包項目
- go run 指令主要用于編譯并運作Go程式。例如:
go run helloworld.go
- go test 指令會自動讀取源碼目錄下面名為*_test.go的檔案,生成并運作測試用的可執行檔案。
最後
以上,我們第一個Go語言程式:helloworld 建立并運作成功了,相信大家已經知道如何建立一個簡單的Go語言程式了,趕快動手試試吧!