《golang筆記》第二篇-main入口

BackSlash發表於2018-10-22

    Go語言的程式碼通過包(package)組織,包類似於其他語言裡的庫(libraries)或者模組(modules)。一個包由位於單個目錄下的一個或多個go原始檔組成,目錄定義包的作用。每個原始檔都以一條package宣告語句開始,例如package main,表示該檔案屬於main包,緊跟著一系列匯入(import)的包,之後是儲存在這個檔案裡的程式語句。

    Go的標準庫提供了100多個包,以支援常見功能,入輸入、輸出、排序以及文字處理。比如fmt包,就含有格式化輸出、接收輸入的函式。Println是其中一個基礎函式,可以列印以空格間隔的一個或多個值,在最後新增一個換行符,從而輸出一整行。

    main包比較特殊。它定義了一個獨立可執行程式,而不是一個庫。在main包裡的main函式也很特殊,它是整個程式執行時的入口(C系語言差不多都這樣)。main函式所做的事情就是程式做的。當然了,main函式一般呼叫其他包裡的函式完成很多工作,比如,fmt.Println

    總結一下就是,Go可執行程式可以分解成一個個包,其中必須存在main包,main包裡必須包含main函式,程式執行本質上就是執行main包裡的main函式,main函式結束程式就結束,就這樣。

示例程式碼:

//echo prints its command-line arguments

package main

import (
	"fmt"
	"os"
	"strings"
)

func main() {
	fmt.Println(strings.Join(os.Args[1:], " "))
	fmt.Println(os.Args[0])
}
複製程式碼


相關文章