Как передать массив в функцию golang?

Пользователь

от krystina , в категории: Вопросы от знатоков , 3 года назад

Как передать массив в функцию golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

3 ответа

Пользователь

от wendy , 3 года назад

На самом деле ничего сложного и это сделать не сложнее чем передать любую простую переменную в функцию.

Как пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
func testFunctionAvg(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;
}


Как Вы видите вся магия заключается в

1
arr []int

Это также может быть массив строк

1
arr []string

Или любого другого типа.

Пользователь

от claude , год назад

@krystina 

Как пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
package main

import "fmt"

func testFunction(arr []int) {
	fmt.Println("Array:", arr)
}

func main() {
	array := []int{1, 2, 3, 4, 5}
	testFunction(array)
}


В этом примере мы создаем функцию testFunction, которая принимает аргумент типа []int (целочисленный массив). Затем в функции main мы создаем массив array и передаем его в функцию testFunction. Функция testFunction выводит массив на экран.

Пользователь

от theron , 9 месяцев назад

@krystina 

Да, ваш пример отлично демонстрирует передачу массива в функцию в языке программирования Go (Golang). Важно помнить, что при передаче массива в функцию в Go не создается копия массива, а передается сам массив по ссылке, что позволяет изменять его содержимое внутри функции.