Golang 如何将数组传递给函数

Golang 如何将数组传递给函数

在Golang或Go编程语言中,数组与其他编程语言非常相似。在程序中,有时需要存储相同类型的一组数据,例如学生得分列表。这种类型的集合使用数组在程序中存储。数组是用于在内存中存储同质元素的固定长度序列。在Go语言中,可以将数组作为函数的参数传递。要将数组作为函数参数传递,您必须首先使用以下内容创建形式参数:

语法:

//对于有大小的数组
func function_name(variable_name [size]type){
// 代码
}
Go

使用此语法,您可以将一维或多维数组传递给函数。让我们通过一个示例讨论这个概念:

示例:

// 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)
} 
Go

输出:

最终结果为: 38 
Go

解释: 在上面的示例中,我们有一个名为 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)
} 
Go

输出:

1
2
3
4
5
Go

我们可以看到,将数组作为参数传递给函数printArray,函数可以像处理任何其他值一样访问数组的元素。

还可以在函数内修改数组的元素,但是如前所述,这些更改不会影响原始数组。要更改原始数组,需要将指向数组的指针传递给函数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册