天天看點

03.Go-第一個 Go 程式

3.1 Hello Go

在控制台輸出“Hello Go!”非常簡單,僅需要幾行代碼就可以搞定,如下所示:
package main   // 聲明 main 包

import "fmt"   // 導入 fmt 包,列印字元串時需要用到

func main(){   // 聲明 main 主函數
    fmt.Println("Hello, Go!")  // 列印 Hello Go!
}
           

大家也許不明白這些代碼的含義,沒關系,下面就來依次介紹。

3.1.1 注釋

**作用:**在代碼中加一些說明和解釋,友善自己或其他程式員程式員閱讀代碼,能夠大大增強程式的可讀性。

兩種格式:

  • 單行注釋:通常放在一行代碼的上方,或者一條語句的末尾,==對該行代碼說明==
    fmt.Println("Hello, Go!") // 右邊的所有東西當做說明,而不是真正要執行的程式,起輔助說明作用
               
  • 多行注釋:通常放在一段代碼的上方,==對該段代碼做整體說明==
    func main() {
    	/*
    		以下兩行代碼都是将資訊列印在螢幕上
    	 */
    	fmt.Println("以下是我的微信公衆号:")
    	fmt.Printf("《面向加薪學習》")
    }
               
  • 特别說明:
    • 編譯器在編譯代碼時,會忽略注釋的内容。如果你寫的代碼不想讓計算機執行,那麼也可以加上注釋。加了注釋後代碼不會被編譯執行,這就是對已有的代碼進行登出。
    • 以後寫程式要多加注釋,這是我們程式猿的專業和職業道德,不加注釋就是流氓。

3.1.2 package(建立包)

Go 語言以“包”作為管理機關,每個 Go 源檔案必須先聲明它所屬的包,是以我們會看到每個 Go 源檔案的開頭都是一個 package 聲明,格式如下:

package name    // 其中 package 是聲明包名的關鍵字, name 為包的名字。
           

Go 語言的包與檔案夾是一一對應的,它具有以下幾點特性:

  • 一個目錄下的同級檔案屬于同一個包。
  • 包名可以與其目錄名不同。
  • main 包是 Go 語言程式的入口包,一個 Go 語言程式必須有且僅有一個 main 包。如果一個程式沒有 main 包,那麼編譯時将會出錯,無法生成可執行檔案。

3.1.3 import(導入包)

在包聲明之後,是 import 語句,用于導入程式中所依賴的包,導入的包名使用雙引号

""

包圍,格式如下:

import "name"   // 其中 import 是導入包的關鍵字,name 為所導入包的名字。
           

代碼第 4 行導入了 fmt 包,這行代碼會告訴 Go 編譯器,我們需要用到 fmt 包中的函數或者變量等,fmt 包是 Go 語言标準庫為我們提供的,用于格式化輸入輸出的内容,類似的還有 os 包、io 包等。

另外有一點需要注意,導入的包中不能含有代碼中沒有使用到的包,否則 Go 編譯器會報編譯錯誤,例如

imported and not used: "xxx"

,"xxx" 表示包名。

也可以使用一個 import 關鍵字導入多個包,此時需要用括号

( )

将包的名字包圍起來,并且每個包名占用一行,也就是寫成下面的樣子:

import(
    "name1"
    "name2"
)
           

3.1.4 main 函數

第 5 行代碼建立了一個 main 函數,它是 Go 語言程式的入口函數,也即程式啟動後運作的第一個函數。main 函數隻能聲明在 main 包中,不能聲明在其他包中,并且,一個 main 包中也必須有且僅有一個 main 函數。

func 函數名 (參數清單) (傳回值清單){
    函數體
}
           

3.1.5 列印輸出