這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
轉載:http://www.jincon.com/archives/257/
http://www.liguosong.com/2013/07/07/golang%E7%9A%84%E5%B0%8F%E6%80%BB%E7%BB%93/
1、Go編程的風格,可以以組為單位進行申明變數和常量,以及載入包。
2、Go語言支援簡單的函數,條件和迴圈風格,把括弧都給省掉了
3、 大寫字母開頭的變數是可匯出的,也就是其它包可以讀取的,是公用變數;小寫字母開頭的就是不可匯出的,是私人變數。
4、大寫字母開頭的函數也是一樣,相當於class中的帶public關鍵詞的公有函數;小寫字母開頭的就是有private關鍵詞的私人函數。
5、go語言是不需要以分號結尾的,這個和python非常類似。
6、Go語言是支援函數返回多個值。
var 建立變數
const 建立常量
iota 這個關鍵字用來聲明enum的時候採用,它預設開始值是0,每調用一次加1
map 也就是Python中字典的概念,它的格式為map[keyType]valueType map的讀取和設定也類似slice一樣,通過key來操作,只是slice的index只能是`int `類型,而map多了很多類型,可以是int,可以是string
make 用於內建類型(map、slice和channel)的記憶體配置
new 用於各種類型的記憶體配置
goto 跳轉到必須在當前函數內定義的標籤
func 關鍵字func用來聲明一個函數funcName
defer 順延強制代碼,類似於解構函式
panic 中斷原有的控制流程程
recover 恢複中斷的函數
import 匯入包檔案
Go程式設計的一些規則
- 大寫字母開頭的變數是可匯出的,也就是其它包可以讀取的,是公用變數;小寫字母開頭的就是不可匯出的,是私人變數。
- 大寫字母開頭的函數也是一樣,相當於class中的帶public關鍵詞的公有函數;小寫字母開頭的就是有private關鍵詞的私人函數。
Go裡面有兩個保留的函數:init函數(能夠應用於所有的package)和main函數(只能應用於package main)。這兩個函數在定義時不能有任何的參數和傳回值。雖然一個package裡面可以寫任意多個init函數,但這無論是對於可讀性還是以後的可維護性來說,都強烈建議使用者在一個package中每個檔案唯寫一個init函數。
Go程式會自動調用init()和main(),所以你不需要在任何地方調用這兩個函數。每個package中的init函數都是可選的,但package main就必須包含一個main函數。