Golang 如何将数组传递给函数
在Golang或Go编程语言中,数组与其他编程语言非常相似。在程序中,有时需要存储相同类型的一组数据,例如学生得分列表。这种类型的集合使用数组在程序中存储。数组是用于在内存中存储同质元素的固定长度序列。在Go语言中,可以将数组作为函数的参数传递。要将数组作为函数参数传递,您必须首先使用以下内容创建形式参数:
语法:
//对于有大小的数组
func function_name(variable_name [size]type){
// 代码
}
使用此语法,您可以将一维或多维数组传递给函数。让我们通过一个示例讨论这个概念:
示例:
// Go程序演示如何将数组作为函数参数传递
package main
import "fmt"
// 此函数接受一个数组作为参数
func myfun(a [6]int, size int) int {
var k, val, r int
for k = 0; k < size; k++ {
val += a[k]
}
r = val / size
return r
}
// 主函数
func main() {
// 创建并初始化一个数组
var arr = [6]int{67, 59, 29, 35, 4, 34}
var res int
// 将一个数组作为参数传递
res = myfun(arr, 6)
fmt.Printf("最终结果为: %d ", res)
}
输出:
最终结果为: 38
解释: 在上面的示例中,我们有一个名为 myfun() 的函数,它接受一个数组作为参数。在主函数中,我们将类型为int的 arr[6] 数组以数组大小为参数传递给函数,函数返回数组的平均值。
在Go中,将数组作为值而不是作为引用传递给函数。这意味着在函数内对数组所做的更改不会影响原始数组。要将数组传递给Go中的函数,只需将数组作为参数传递给函数即可。
以下是演示如何在Go中将数组传递给函数的示例:
package main
import "fmt"
func printArray(array []int) {
for _, value := range array {
fmt.Println(value)
}
}
func main() {
array := []int{1, 2, 3, 4, 5}
printArray(array)
}
输出:
1
2
3
4
5
我们可以看到,将数组作为参数传递给函数printArray,函数可以像处理任何其他值一样访问数组的元素。
还可以在函数内修改数组的元素,但是如前所述,这些更改不会影响原始数组。要更改原始数组,需要将指向数组的指针传递给函数。
极客教程