GO程式設計基礎之四

2022-05-05 01:06:10 字數 2013 閱讀 4201

1.陣列array:

---定義陣列的格式:var  [n]  ,n >=0

---陣列長度也是型別的一部分,因此具有不同長度的陣列為不同型別

---注意區分指向陣列的指標和指標陣列

---陣列在go中為值型別

---陣列之間可以使用==或!=進行比較,但不可以使用《或》

----可以使用new來建立陣列,此方法返回乙個指向陣列的指標

---go支援多維陣列

(1)不合法賦值:陣列長度不同

func main()

(2)合法的賦值:陣列長度相同

func main()

(3)陣列儲存值的方式:可以使用變數的簡寫,長度和值的個數不一致時,會使用0填充

func main()

fmt.println(a)

}

(4)陣列的索引與賦值:

func main()    //

第20個元素賦值為1.其餘元素用0自動填充

fmt.println(a)

}

(5)不指定陣列長度進行賦值:

func main()   //

使用三個點代替具體的長度

fmt.println(a)

}

(6)用索引進行初始化陣列:

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()

b := [2]int

fmt.println(a == b) //

長度相同的陣列可進行比較.返回false

}func main()

b := [1]int

fmt.println(a == b) //

長度不相同的陣列不可以進行比較,報錯

}

(10)new關鍵字來建立陣列:

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,具體 如下所示 ...