天天看點

一起學Golang系列(三)第一個Go語言程式:helloworld

前面我們介紹了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

一起學Golang系列(三)第一個Go語言程式:helloworld

我們看到程式成功輸出: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語言程式了,趕快動手試試吧!

繼續閱讀