Передача Масивів у Функції
Корисною можливістю є передача масивів у функції, що дозволяє використовувати ці масиви в інших областях видимості, особливо коли вони оголошені локально.
Загальний синтаксис для аргументу масиву у функції виглядає так:
argName [expectedArraySize] dataType
Реалізація цього у функції виглядає приблизно так:
index.go
123func myFunc(arr [5] int) { // code here }
Наступний приклад демонструє передачу масиву у функцію та його використання:
index.go
123456789101112131415package main import "fmt" func sumOfAll(arr [10] int) int { total := 0 for i := 0; i < 10; i++ { total += arr[i] } return total } func main() { var numbers = [10] int { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } fmt.Printf("Sum: %d", sumOfAll(numbers)) }
У Go (Golang) масиви завжди передаються у функції за значенням. Це означає, що при передачі масиву у функцію всередині неї створюється локальна копія оригінального масиву. Відповідно, будь-які зміни, внесені до масиву всередині функції, не впливають на оригінальний масив, оскільки у функції використовується копія початкових даних.
Наступна програма ілюструє, що зміни масиву у функції не впливають на оригінальний масив:
index.go
12345678910111213package main import "fmt" func myFunc(nums [3] int) { nums[1] = 10 } func main() { var values = [3] int {1, 2, 3} fmt.Println("Before:", values) myFunc(values) fmt.Println("After: ", values) }
Примітка
На відміну від передачі за значенням, існує поняття передачі за посиланням, коли у функцію передається посилання на масив або змінну. Відповідно, зміна значення всередині функції також змінює джерело. У деяких мовах програмування масиви за замовчуванням передаються за посиланням.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 1.96
Передача Масивів у Функції
Свайпніть щоб показати меню
Корисною можливістю є передача масивів у функції, що дозволяє використовувати ці масиви в інших областях видимості, особливо коли вони оголошені локально.
Загальний синтаксис для аргументу масиву у функції виглядає так:
argName [expectedArraySize] dataType
Реалізація цього у функції виглядає приблизно так:
index.go
123func myFunc(arr [5] int) { // code here }
Наступний приклад демонструє передачу масиву у функцію та його використання:
index.go
123456789101112131415package main import "fmt" func sumOfAll(arr [10] int) int { total := 0 for i := 0; i < 10; i++ { total += arr[i] } return total } func main() { var numbers = [10] int { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } fmt.Printf("Sum: %d", sumOfAll(numbers)) }
У Go (Golang) масиви завжди передаються у функції за значенням. Це означає, що при передачі масиву у функцію всередині неї створюється локальна копія оригінального масиву. Відповідно, будь-які зміни, внесені до масиву всередині функції, не впливають на оригінальний масив, оскільки у функції використовується копія початкових даних.
Наступна програма ілюструє, що зміни масиву у функції не впливають на оригінальний масив:
index.go
12345678910111213package main import "fmt" func myFunc(nums [3] int) { nums[1] = 10 } func main() { var values = [3] int {1, 2, 3} fmt.Println("Before:", values) myFunc(values) fmt.Println("After: ", values) }
Примітка
На відміну від передачі за значенням, існує поняття передачі за посиланням, коли у функцію передається посилання на масив або змінну. Відповідно, зміна значення всередині функції також змінює джерело. У деяких мовах програмування масиви за замовчуванням передаються за посиланням.
Дякуємо за ваш відгук!