Ir matrizes linguagem de passagem a funções
Se você quer passar uma matriz de argumentos para uma função, você precisa de uma definição de função, declare o parâmetro como uma matriz, podemos declarar as duas seguintes maneiras:
uma maneira
tamanho parâmetro de matriz configuração:
void myFunction(param [10]int) { . . . }
segunda maneira
Parâmetro não está definido o tamanho da matriz:
void myFunction(param []int) { . . . }
Exemplos
Vamos olhar para os exemplos a seguir, a função exemplos recebe um parâmetro de matriz inteiro, outro parâmetro especifica o número de elementos da matriz e retorna a média:
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; }
Em seguida chamamos a função:
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; }
Exemplos da implementação da saída acima é:
平均值为: 214.000000
Usamos o exemplo acima parâmetro de forma e o tamanho da matriz set.