1、make()分配:內部函式 make(t, args) 的服務目的和 new(t) 不同,只生成切片,對映和程道,並返回乙個初始化的(不是零)的,type t的,不是 *t 的值。這種區分的原因是,這三種型別的資料結構必須在使用前初始化.比如切片是乙個三項的描述符,包含資料指標(陣列內),長度,和容量;在這些項初始化前,切片為 nil 。對於切片、對映和程道,make初始化內部資料結構,並準備要用的值。記住 make()只用於對映、切片和程道,不返回指標。要明確的得到指標用 new() 分配。
2、range:主要用於集合遍歷、range返回兩個值,第乙個是元素索引值,第二個是元素值
3、go中交換兩個元素的值:i,j=j,i
4、go中陣列是值型別,每一次傳遞都講產生乙份副本
5、cap()函式返回的是陣列切片分配的空間大小,而len()函式返回的是陣列切片中當前所儲存的元素個數
6、小寫字母開頭的函式只在本包內可見,大寫字母開頭的函式才能被其他包使用
7、在go語言中,乙個類只需要實現了介面要求的所有函式,則這個類便實現了該介面,可以進行賦值。
8、介面賦值並不要求兩個介面必須等價。如果介面a的方法列表是介面b的方法列表的子集,那麼介面b可以賦值給介面a
9、channel是與型別相關的。
Golang基礎學習筆記01
day01 一 基礎 1.單行注釋 2.多行注釋 3.語句結尾沒有分號 4.呼叫函式大部分需要匯入包 5.左括號必須與函式名同行 6.程式必須有乙個main包 7.go語言以包做為管理單位 8 每個檔案必須先宣告包 二 變數 9.變數命名規範 1 字母 下劃線 數字組成 2 不能以數字開頭 3 不能...
Golang基礎學習筆記03
day03 一 復合型別 指標 1.指標的基本操作 var a int 10 fmt.printf d n a 變數的記憶體 fmt.printf v n a 變數的位址 fmt.printf p n a 變數的位址 fmt.println a 變數的位址 儲存某個變數的位址,需要指標。int 儲存...
Golang學習 基礎
一 helloworld 首先是helloworld package main import fmt func main 編譯和執行 go buid hello.go hello 二 變數,常量 1.定義乙個變數 var a int var b int 10 c 10 等價於var c int 10...