淺析Go語言中數(shù)組的使用
數(shù)組用于在單個變量中存儲相同類型的多個值,而不是為每個值聲明單獨的變量。
聲明數(shù)組
在Go中,有兩種聲明數(shù)組的方式:
1.使用var
關(guān)鍵字:
語法
var array_name = [length]datatype{values} // 這里定義了長度
或者
var array_name = [...]datatype{values} // 這里長度是隱含的
2.使用:=
符號:
語法
array_name := [length]datatype{values} // 這里定義了長度
或者
array_name := [...]datatype{values} // 這里長度是隱含的
注意:長度指定了數(shù)組中要存儲的元素數(shù)量。在Go中,數(shù)組具有固定的長度。數(shù)組的長度可以通過一個數(shù)字來定義,也可以是隱含的(這意味著編譯器根據(jù)值的數(shù)量來決定數(shù)組的長度)。
數(shù)組示例
這個示例聲明了兩個具有定義長度的數(shù)組(arr1和arr2):
package main import "fmt" func main() { var arr1 = [3]int{1, 2, 3} arr2 := [5]int{4, 5, 6, 7, 8} fmt.Println(arr1) fmt.Println(arr2) }
輸出:
[1 2 3]
[4 5 6 7 8]
示例
這個示例聲明了兩個隱含長度的數(shù)組(arr1和arr2):
package main import "fmt" func main() { var arr1 = [...]int{1, 2, 3} arr2 := [...]int{4, 5, 6, 7, 8} fmt.Println(arr1) fmt.Println(arr2) }
輸出:
[1 2 3]
[4 5 6 7 8]
示例
這個示例聲明了一個字符串?dāng)?shù)組:
package main import "fmt" func main() { var cars = [4]string{"Volvo", "BMW", "Ford", "Mazda"} fmt.Print(cars) }
輸出:
[Volvo BMW Ford Mazda]
訪問數(shù)組元素
您可以通過引用索引號來訪問特定的數(shù)組元素。
在Go中,數(shù)組索引從0開始。這意味著[0]是第一個元素,[1]是第二個元素,依此類推。
示例
這個示例展示了如何訪問prices數(shù)組中的第一個和第三個元素:
package main import "fmt" func main() { prices := [3]int{10, 20, 30} fmt.Println(prices[0]) fmt.Println(prices[2]) }
輸出:
10
30
更改數(shù)組元素
您還可以通過引用索引號來更改特定數(shù)組元素的值。
示例
這個示例展示了如何更改prices數(shù)組中第三個元素的值:
package main import "fmt" func main() { prices := [3]int{10, 20, 30} prices[2] = 50 fmt.Println(prices) }
輸出:
[10 20 50]
數(shù)組初始化
如果數(shù)組或其元素在代碼中沒有被初始化,它將被分配其類型的默認(rèn)值。
提示:int的默認(rèn)值是0,string的默認(rèn)值是""。
示例
package main import "fmt" func main() { arr1 := [5]int{} // 未初始化 arr2 := [5]int{1, 2} // 部分初始化 arr3 := [5]int{1, 2, 3, 4, 5} // 全部初始化 fmt.Println(arr1) fmt.Println(arr2) fmt.Println(arr3) }
輸出:
[0 0 0 0 0]
[1 2 0 0 0]
[1 2 3 4 5]
僅初始化特定元素
也可以僅初始化數(shù)組中的特定元素。
示例
這個示例僅初始化數(shù)組的第二和第三個元素:
package main import "fmt" func main() { arr1 := [5]int{1: 10, 2: 40} fmt.Println(arr1) }
輸出:
[0 10 40 0 0]
示例解釋
上面的數(shù)組有5個元素。
1:10 表示:將10賦值給數(shù)組索引1(第二個元素)。
2:40 表示:將40賦值給數(shù)組索引2(第三個元素)。
查找數(shù)組的長度
使用len()
函數(shù)可以找到數(shù)組的長度:
示例
package main import "fmt" func main() { arr1 := [4]string{"Volvo", "BMW", "Ford", "Mazda"} arr2 := [...]int{1, 2, 3, 4, 5, 6} fmt.Println(len(arr1)) fmt.Println(len(arr2)) }
輸出:
4
6
到此這篇關(guān)于淺析Go語言中數(shù)組的使用的文章就介紹到這了,更多相關(guān)go數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
golang sync.Pool 指針數(shù)據(jù)覆蓋問題解決
本文主要介紹了使用sync.Pool時遇到指針數(shù)據(jù)覆蓋的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03深入了解Golang?interface{}的底層原理實現(xiàn)
在?Go?語言沒有泛型之前,接口可以作為一種替代實現(xiàn),也就是萬物皆為的?interface。那到底?interface?是怎么設(shè)計的底層結(jié)構(gòu)呢?下面咱們透過底層分別看一下這兩種類型的接口原理。感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助2022-10-10Go語言實戰(zhàn)之實現(xiàn)一個簡單分布式系統(tǒng)
如今很多云原生系統(tǒng)、分布式系統(tǒng),例如?Kubernetes,都是用?Go?語言寫的,這是因為?Go?語言天然支持異步編程。本篇文章將介紹如何用?Go?語言編寫一個簡單的分布式系統(tǒng),需要的小伙伴開業(yè)跟隨小編一起學(xué)習(xí)一下2022-10-10Golang限流器time/rate設(shè)計與實現(xiàn)詳解
在?Golang?庫中官方給我們提供了限流器的實現(xiàn)golang.org/x/time/rate,它是基于令牌桶算法(Token?Bucket)設(shè)計實現(xiàn)的,下面我們就來看看他的具體使用吧2024-03-03利用 Go 語言編寫一個簡單的 WebSocket 推送服務(wù)
這篇文章主要介紹了利用 Go 語言編寫一個簡單的 WebSocket 推送服務(wù),需要的朋友可以參考下2018-04-04GO使用socket和channel實現(xiàn)簡單控制臺聊天室
今天小編給大家分享一個簡單的聊天室功能,聊天室主要功能是用戶可以加入離開聊天室,實現(xiàn)思路也很簡單明了,下面小編給大家?guī)砹送暾a,感興趣的朋友跟隨小編一起看看吧2021-12-12