Golang 获取扁平化的一维数组
在本教程中,我们将编写一个Go语言程序,从多维二维数组中获取扁平化的一维数组。多维数组是由数组组成的数组,其中每个内部数组代表一行元素。另一方面,一维数组是一个单独的数组,它以连续的方式包含多维数组的所有元素。
语法
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 - 将函数返回的最终数组存储在一个变量中,并将其打印在屏幕上。函数得到的最终数组是通过展平2D多维数组而得到的一维数组。
示例
在以下代码中,我们将执行Golang程序以从2D数组中获得一个展平的一维数组。
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语言程序,从多维2D数组中获取扁平化的1D数组。上述程序使用一个外部函数来实现结果。该函数接受一个2D数组并返回最终的1D数组。在该函数内部,我们使用了go语言的库函数append()。