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()。
广告