日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

go 声明二维数组_一篇文章了解Go语言中数组Arrays的使用内幕

發布時間:2023/12/1 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go 声明二维数组_一篇文章了解Go语言中数组Arrays的使用内幕 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

與其他編程語言類似,Go語言也有數組array。Go語言中,數組的行為和其他語言沒有什么不同.Go語言中還有一個叫做切片slice的東西,它就像是對數組的引用。在本文中,我們將只研究數組。

定義

數組是同一類型元素的連續集合,它是連續存儲在內存中的有序元素序列。

下面是數組聲明的格式:

  • size_of_array:數組大小或數組長度,表示數組中所有元素的數量
  • type :數組元素類型,表示數組中每一個元素的類型
  • a1, a2 … an:表示數組中實際的元素值

Go語言中,數組的大小是其類型的一部分。這意味著兩個擁有不同數量元素的數組是兩種不同的類型,它們不能互相賦值。如果我們試圖賦值兩個不同長度的數組,將引發以下錯誤:

下面是代碼示例:

出于同樣的原因,數組的長度在創建時是固定的,以后不能更改。

數組的聲明

元素數量和元素值在數組聲明中都是可選的。

在下面的示例中,我們看到了聲明數組的4種方法。

同時聲明數組長度和元素值,如下所示:

只聲明數組長度,這種情況下,所有實際元素值都是該類型的默認零值填充,如下所示:

只聲明元素值,這種情況下,數組的長度將等于實際元素的數目。當不指定長度時,需要將符號...放在方括號內。該符號是讓編譯器計算數組長度的指令。

不聲明數組長度和元素值,這種情況下,創建的是一個空數組,類似于上面,符號...也需要使用。

下面是以上4種數組聲明的代碼示例。內置函數len()是用于計算數組的長度。在下面的程序中,我們使用len()函數來計算數組的長度。

請注意,在上面的示例中,對于sample3變量,實際的元素值被int類型的默認值填充,即0。

如果指定的實際元素個數小于數組的長度,也是可以,其余元素將使用該類型的默認零值填充。請參見下面的示例,指定的數組長度為4,而只聲明了2個實際元素值,因此,剩下的兩個元素被賦值為0,這是int類型的默認零值。

訪問數組元素

由于數組元素是以連續的方式存儲的,所以我們可以通過索引來訪問數組元素。同樣,也可以使用索引為某個數組元素賦值。訪問越界索引將導致編譯錯誤。請參閱下面的示例,第一個索引位置為零,最后一個索引為數組長度減1(length_of_array-1)

取消對下面這行代碼的注釋:

你就會得到一條編譯錯誤:

Go語言中的數組是值

數組在Go語言中的屬于值類型,所以數組變量名不是指向第一個元素的指針,實際上它表示整個數組。

當以下情形發生時,一個數組的副本會被創建:

  • 一個數組變量被賦值給另一個數組變量
  • 數組變量作為參數傳遞給函數

讓我們用另一個例子來看看:

在上面的例子中,

  • 我們將sample1賦值給sample2,然后將sample2處的第0個索引的元素更改為不同的值。之后,當我們打印sample1時,我們看到它沒有改變。這是因為當將sample1賦值給sample2時,會創建一個副本賦給它,而更改sample2對sample1沒有任何影響。
  • 我們將sample1傳遞給test函數,然后在test函數的第0個索引處再次更改其值。當我們再次打印sample1時,看到它仍然沒有任何改變。原因是相同的,當sample1作為參數傳遞給test函數時,會創建sample1的副本。

迭代數組的不同方法

可以使用以下方法迭代一個數組:

  • 使用for循環
  • 使用for-range循環

讓我們看看下面的代碼示例:

多維數組

下面是聲明一個二維數組的格式:

其中,

  • x表示行數
  • y表示列數
  • aij表示i行j列的元素

同樣的想法可以擴展到三維、四維等等。我們上面討論的所有規則也適用于多維數組。

讓我們看一個代碼示例:

在上面的例子中,我們使用第一和第二維的索引來訪問二維數組的元素

還要注意我們是如何遍歷二維數組的。我們需要使用嵌套的range。第一個range遍歷二維數組里的一維數組,第二個range遍歷各個一維數組。

結論

這就是Go語言中關于數組的所有使用內幕,希望你喜歡這篇文章。請在評論中分享反饋和關注。

總結

以上是生活随笔為你收集整理的go 声明二维数组_一篇文章了解Go语言中数组Arrays的使用内幕的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。