Go 语言 - 向函数传递数组
Go 语言的可以向函数传递数组作为参数
如果想向函数传递数组参数,我们需要在函数定义时,声明形参为数组
声明形参为数组的方法有两种
1. 形参设定数组大小
func myFunction(param [10]int) { // 函数体 }
2. 形参未设定数组大小
如果形参未设定数组大小,则需要额外的形参告知函数数组的大小
func myFunction(param []int, length int) { // 函数体 }
范例
1. 我们先定义一个 getAverage
函数
getAverage() 函数接收整型数组参数,另一个参数指定了数组元素的个数,并返回平均值
func getAverage(arr []int, size int) float32 { var i int var avg, sum float32 for i = 0; i < size; ++i { sum += arr[i] } return sum / size }
然后我们写一个范例调用上面定义的函数
/** * file: main.go * author: 简单教程(www.twle.cn) * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ package main import "fmt" func main() { /* 数组长度为 5 */ var balance = []int {1000, 2, 3, 17, 50} var avg float32 /* 数组作为参数传递给函数 */ avg = getAverage( balance, 5 ) ; /* 输出返回的平均值 */ fmt.Printf( "平均值为: %f ", avg ); } func getAverage(arr []int, size int) float32 { var i,sum int var avg float32 for i = 0; i < size;i++ { sum += arr[i] } avg = float32(sum / size) return avg; }
编译运行以上 Go 范例,输出结果如下
$ go run main.go
平均值为: 214.000000