向函数传递数组
Go 语言向函数传递数组
如果你想向函数传递数组参数,你需要在函数定义时,声明形参为数组,我们可以通过以下两种方式来声明:
方式一
形参设定数组大小:
void myFunction(param [10]int) { . . . }
方式二
形参未设定数组大小:
void myFunction(param []int) { . . . }
实例
让我们看下以下实例,实例中函数接收整型数组参数,另一个参数指定了数组元素的个数,并返回平均值:
func getAverage(arr []int, int size) float32 { var i int var avg, sum float32 for i = 0; i < size; ++i { sum += arr[i] } avg = sum / size return avg; }
接下来我们来调用这个函数:
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; }
以上实例执行输出结果为:
平均值为: 214.000000
以上实例中我们使用的形参并为设定数组大小。