Go 语言向函数传递数组


如果你想向函数传递数组参数,你需要在函数定义时,声明形参为数组,我们可以通过以下两种方式来声明:

方式一

形参设定数组大小:

  1. void myFunction(param [10]int)
  2. {
  3. .
  4. .
  5. .
  6. }

方式二

形参未设定数组大小:

  1. void myFunction(param []int)
  2. {
  3. .
  4. .
  5. .
  6. }

实例

让我们看下以下实例,实例中函数接收整型数组参数,另一个参数指定了数组元素的个数,并返回平均值:

  1. func getAverage(arr []int, int size) float32
  2. {
  3. var i int
  4. var avg, sum float32
  5.  
  6. for i = 0; i < size; ++i {
  7. sum += arr[i]
  8. }
  9.  
  10. avg = sum / size
  11.  
  12. return avg;
  13. }

接下来我们来调用这个函数:

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6. /* 数组长度为 5 */
  7. var balance = []int {1000, 2, 3, 17, 50}
  8. var avg float32
  9.  
  10. /* 数组作为参数传递给函数 */
  11. avg = getAverage( balance, 5 ) ;
  12.  
  13. /* 输出返回的平均值 */
  14. fmt.Printf( "平均值为: %f ", avg );
  15. }
  16. func getAverage(arr []int, size int) float32 {
  17. var i,sum int
  18. var avg float32
  19.  
  20. for i = 0; i < size;i++ {
  21. sum += arr[i]
  22. }
  23.  
  24. avg = float32(sum / size)
  25.  
  26. return avg;
  27. }

以上实例执行输出结果为:

  1. 平均值为: 214.000000

以上实例中我们使用的形参并为设定数组大小。