通過前面學習大家已經對go語言有了一定的了解,那要怎麼來建立乙個go語言程式呢?本節就來帶領大家實現乙個簡單的程式——在控制台輸出「hello world!」。
在控制台輸出「hello world!」非常簡單,僅需要幾行**就可以搞定,如下所示:
package main // 宣告 main 包
import
("fmt"
// 匯入 fmt 包,列印字串是需要用到
)func
main()
大家也許不明白這些**的含義,沒關係,下面就來一一介紹。
package(建立包)
go語言以「包」作為管理單位,每個 go 原始檔必須先宣告它所屬的包,所以我們會看到每個 go 原始檔的開頭都是乙個 package 宣告,格式如下:
package name
其中 package 是宣告包名的關鍵字,name 為包的名字。
go語言的包與資料夾是一一對應的,它具有以下幾點特性:
import(匯入包)
在包宣告之後,是 import 語句,用於匯入程式中所依賴的包,匯入的包名使用雙引號""包圍,格式如下:
import
"name"
其中 import 是匯入包的關鍵字,name 為所匯入包的名字。
**第 4 行匯入了 fmt 包,這行**會告訴 go 編譯器,我們需要用到 fmt 包中的函式或者變數等,fmt 包是go語言標準庫為我們提供的,用於格式化輸入輸出的內容(類似於c語言中的 stdio.h 標頭檔案),類似的還有 os 包、io 包等,後面我們會詳細介紹。
另外有一點需要注意,匯入的包中不能含有**中沒有使用到的包,否則go編譯器會報編譯錯誤,例如 imported and not used: 「***」,「***」 表示包名。
也可以使用乙個 import 關鍵字匯入多個包,此時需要用括號( )將包的名字包圍起來,並且每個包名占用一行,也就是寫成下面的樣子:
import
("name1"
"name2"
)
main 函式
**的第 7 行建立了乙個 main 函式,它是go語言程式的入口函式,也即程式啟動後執行的第乙個函式。main 函式只能宣告在 main 包中,不能宣告在其他包中,並且,乙個 main 包中也必須有且僅有乙個 main 函式。
c/c++ 程式的入口函式也是 main(),乙個 c/c++ 程式有且只能有乙個 main() 函式。main 函式是自定義函式的一種,在go語言中,所有函式都以關鍵字 func 開頭的,定義格式如下所示:
func 函式名 (引數列表)
(返回值列表)
格式說明如下:
注意:go語言函式的左大括號{必須和函式名稱在同一行,否則會報錯。列印 hello world
**的第 8 行fmt.println(「hello world!」)中,println 是 fmt 包中的乙個函式,它用來格式化輸出資料,比如字串、整數、小數等,類似於c語言中的 printf 函式。這裡我們使用 println 函式來列印字串,也就是( )裡面使用""包裹的部分。
注意,println 函式列印完成後會自動換行,ln是 line 的縮寫。點號.是go語言運算子的一種,這裡表示呼叫 fmt 包中的 println 函式。
另外,**fmt.println(「hello world!」)的結尾,不需要使用;來作為結束符,go 編譯器會自動幫我們新增,當然,在這裡加上;也是可以的。
一 第乙個Go程式
go原始檔以package宣告開頭,說明原始檔所屬的包。接著使用inport匯入依賴的包,其次為包級別的變數 常量 型別和函式的宣告和賦值 函式中可以定義區域性的變數 常量 這是manin包 package main import fmt 這裡是列印hello word func main 這裡第一...
go學習筆記 第乙個go程式
hello world.go package main import fmt func main 直接執行 go run hello world.go 先編譯再執行 go build hello world.go build 之後會生成乙個二進位制hello world hello world基本程...
go語言實現第乙個程式 hello,world!
0.前言 工作中一直使用c 編寫高併發伺服器程式,但c 編寫高並非伺服器程式時多執行緒邏輯,鎖機制導致的死鎖,記憶體洩漏,崩潰等問題會耗費大量時間和精力。聽同事說go語言是專門做高併發程式設計的,不用考慮上面的一些問題,由google推出。想想google出品,必屬精品,又和自己的工作方向相關,所以...