如果你想向函数传递数组参数,你需要在函数定义时,声明形参为数组,我们可以通过以下两种方式来声明:
形参设定数组大小:
- 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
以上实例中我们使用的形参并为设定数组大小。