Go語言程式:獲取扁平化的1D陣列


在本教程中,我們將編寫一個Go語言程式,用於從多維二維陣列中獲取扁平化的1D陣列。多維陣列是由陣列組成的陣列,其中每個內部陣列表示一行元素。另一方面,一維陣列是一個包含多維陣列所有元素的連續陣列。

語法

func append(slice, element_1, element_2…, element_N) []T

append函式用於向陣列切片新增值。它接受多個引數。第一個引數是要向其中新增值的陣列,後面跟著要新增的值。然後,該函式返回包含所有值的最終陣列切片。

演算法

步驟1 − 首先,我們需要匯入fmt包。

步驟2 − 然後,我們需要啟動main()函式。在這個函式中,初始化一個整數陣列併為其賦值。然後使用fmt.Println()函式在螢幕上列印此陣列。

步驟3 − 建立一個名為flatArray()的函式,並在該函式中建立一個空陣列。使用for迴圈迭代陣列中的每個元素,並使用append()函式將值新增到其中。

步驟4 − 現在,返回由此形成的最終陣列。在main()函式中,透過將陣列作為引數傳遞給函式來呼叫flattenArray()函式。

步驟5 − 將函式返回的最終陣列儲存在一個變數中,並在螢幕上列印它。函式獲得的最終陣列是從二維多維陣列展平獲得的一維陣列。

示例

在下面的程式碼中,我們將執行Go語言程式,從二維陣列中獲取扁平化的1D陣列。

package main
import "fmt"
func main() {

   // Initialize the multi-dimensional array
   arr := [][]int{
      {1, 2, 3, 4},
      {5, 6, 7, 8}, 
      {9, 10, 11, 12},
   }
   fmt.Println("The 2-D array is:", arr)

   // Flatten the array using the append function
   flatArr := flattenArray(arr)

   // Print the flattened array
   fmt.Println("The flattened array obtained from above multidimensional array is:", flatArr)
}
func flattenArray(arr [][]int) []int {

   // Initialize the flattened array
   flatArr := []int{}

   // Iterate through the rows of the array
   for _, row := range arr {

      // Append the current row to the flattened array
      flatArr = append(flatArr, row...)
   }
   return flatArr
}

輸出

The 2-D array is: [[1 2 3 4] [5 6 7 8] [9 10 11 12]]
The flattened array obtained from above multidimensional array is: [1 2 3 4 5 6 7 8 9 10 11 12]

結論

我們已經成功編譯並執行了一個Go語言程式,用於從多維二維陣列中獲取扁平化的1D陣列。上面的程式使用一個外部函式來實現結果。該函式接受一個二維陣列並返回最終的一維陣列。在這個函式中,我們使用Go的庫函式append()。

更新於:2023年2月10日

瀏覽量:1000+

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.