基本法則:
1)在最外部宣告的函式、型別、變數都要從其關鍵字開始,如func、type、var...
2)任何代碼都要以包為單位封裝和被呼叫,
3)大括號的前括號要在行末,后括號要另起一行行首,
4)函式內宣告的臨時變數必須要使用,如要放棄接收變數可使用_符號接收值表示忽略,
5)最外部宣告的函式、型別、變數如果是首字母大寫,表示公開,可被其他包使用,小寫表示不公開,
一 包
1)包名頂行寫:
package 包名
2)匯入用import關鍵字,多個包可以使用符號()進行組合
import "包路徑"
3)包名為包路徑最后一段名字
一 變數
1)標準格式:
var 變數名 型別
2)宣告時直接賦值可以省略型別,由其自動推導
3)宣告時直接賦值可以省略var,使用:=符號簡寫,該語法僅能在函式內使用,因為與更高級別的法則沖突:在最外部宣告的函式、型別、變數都要從其關鍵字開始,
二 函式
1)標準格式:
func 函式名(引數1 引數1型別, 引數2 引數2型別) (回傳值 回傳值型別) {
}
2)與宣告變數相似的,引數、回傳值的型別也要放在名稱之后,這樣做的理由是更易讀,比如當復雜函式做引數傳遞時,
3)函式回傳值可以多個,也可以給回傳值變數命名,
三 結構
1)標準格式:
type 結構名 struct{
成員變數名 型別,
....
}
2)結構的創建:省略成員名可以按順序初始化;不省略名稱則不需要順序,
3)type可以用來給別的型別起別名,當然之后需要顯式轉型,
4)通過.運算子獲取結構內的成員,
四 指標
1)go有指標型別,用*表示,*出現在型別前方,
2)go沒有指標運算
3)獲取變數的參考通過取地址符&獲取,同理可以在型別創建的時候直接&獲取其參考,
4)參考變數的值要通過 *變數名 獲取,*出現在變數名前方,
5)如果是指標型別的結構,可以通過.運算子直接呼叫型別成員,(*p).Name和p.Name的效果相同,
五 方法
1)go沒有類,但可以用型別作為函式的接收器實作結構的方法,本質上就是函式的第一個引數為該型別,
2)不能給除自身包之外的型別添加方法,
3)方法的語法結構:
func (接收器變數 接收器型別) 函式名(引數)回傳值{
}
4)使用方法,就是在型別變數后面使用.運算子,
5)接收器可以是指標型別,因為go語言的傳參本質就是拷貝,所以傳遞指標型別變數可以用于修改值,效果等同函式,
6)當使用指標型別接收器的時候,使用方法也可以直接通過.運算子,(*p).Add()和p.Add()的效果相同,
7)當接收器不是指標型別的時候,參考型別的變數也可以使用.運算子直接呼叫方法,但是要注意的是go的傳參始終都是值拷貝,
8)上述特性與函式引數不同,函式引數型別必須與宣告的引數型別一致,不然無法通過編譯,
六 介面
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/142967.html
標籤:其他
上一篇:4-python基本資料型別
