1.陣列array:
---定義陣列的格式:var [n] ,n >=0
---陣列長度也是型別的一部分,因此具有不同長度的陣列為不同型別
---注意區分指向陣列的指標和指標陣列
---陣列在go中為值型別
---陣列之間可以使用==或!=進行比較,但不可以使用《或》
----可以使用new來建立陣列,此方法返回乙個指向陣列的指標
---go支援多維陣列
(1)不合法賦值:陣列長度不同
func main()
(2)合法的賦值:陣列長度相同
func main()
(3)陣列儲存值的方式:可以使用變數的簡寫,長度和值的個數不一致時,會使用0填充
func main()(4)陣列的索引與賦值:fmt.println(a)
}
func main() //第20個元素賦值為1.其餘元素用0自動填充
fmt.println(a)
}
(5)不指定陣列長度進行賦值:
func main() //(6)用索引進行初始化陣列:使用三個點代替具體的長度
fmt.println(a)
}
func main() //陣列初始化中包含索引
fmt.println(a)
}
func main()var p *[100]int = &a //
指標p是長度為100的int型陣列,加*表示是指標,= &a表示是取a的位址
fmt.println(p)
}
func main() //a是指向int型的指標,它儲存的元素是指向int型的指標,&x,&y表示取x和y的值
fmt.println(a)
}
(9)其他語言的陣列都是引用型別,go語言的陣列是值型別;
也就是說當你把樹枝傳遞到方法或者函式當中的時候,它是將整個陣列進行拷貝的;而不是傳遞乙個位址給那個方法或者函式;
func main()(10)new關鍵字來建立陣列:b := [2]int
fmt.println(a == b) //
長度相同的陣列可進行比較.返回false
}func main()
b := [1]int
fmt.println(a == b) //
長度不相同的陣列不可以進行比較,報錯
}
func main()
(11)對單個陣列元素進行賦值:
func main()a[1] = 2
fmt.println(a)
p := new([10]int) //
使用new關鍵字來建立陣列
p[1] = 3
fmt.println(p)
//返回的也是指向陣列的指標
}
(12)多維陣列:
a := [2][3]int, }
fmt.println(a)
}
(13)頂級陣列維度可以使用...代替陣列長度,但是非頂級的陣列維度不可以使用...代替陣列
func main(),}fmt.println(a)
//報編譯錯誤
}
(14)氣泡排序:
func main()fmt.println(a)
num := len(a) //
變數num初始化賦值必須用:=,不能直接用=
for i := 0; i
}} fmt.println(a)
}
Go基礎程式設計 Socket程式設計
socket起源於unix,而unix基本哲學之一就是 一切皆檔案 都可以用 開啟open 讀寫write read 關閉close 模式來操作。socket就是該模式的乙個實現,網路的socket資料傳輸是一種特殊的i o,socket也是一種檔案描述符。socket也具有乙個類似於開啟檔案的函式...
Go基礎程式設計 Go語言介紹
2009年11月10日,go語言正式成為開源程式語言家庭的一員。go語言 或稱golang 是雲計算時代的c語言。go語言的誕生是為了讓程式設計師有更高的生產效率,go語言專門針對多處理器系統應用程式的程式設計進行了優化,使用go編譯的程式可以媲美c或c 的速度,而且更加安全 支援並行程序。開發人員...
GO程式設計 GO入門語法基礎
學習一門語言,首先肯定是要熟悉他的語法,然後才可以進行程式設計開發,雖然本人使用過c net等語言,不過對於go的一些新特性還是需要多多熟悉,否則即使看得懂也寫不出程式來。今天我們就開始我們的go hello world 當我們新建乙個go module,就會看到乙個main.go,具體 如下所示 ...