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+

开启你的职业生涯

完成课程获得认证

开始学习
广告