Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Передача Масивів у Функції | Масиви та Зрізи
Вступ до Golang

bookПередача Масивів у Функції

Корисною можливістю є передача масивів у функції, що дозволяє використовувати ці масиви в інших областях видимості, особливо коли вони оголошені локально.

Загальний синтаксис для аргументу масиву у функції виглядає так:

argName [expectedArraySize] dataType

Реалізація цього у функції виглядає приблизно так:

index.go

index.go

copy
123
func myFunc(arr [5] int) { // code here }

Наступний приклад демонструє передачу масиву у функцію та його використання:

index.go

index.go

copy
123456789101112131415
package 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

index.go

copy
12345678910111213
package 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) }

Примітка

На відміну від передачі за значенням, існує поняття передачі за посиланням, коли у функцію передається посилання на масив або змінну. Відповідно, зміна значення всередині функції також змінює джерело. У деяких мовах програмування масиви за замовчуванням передаються за посиланням.

question mark

Який правильний код для параметра функції myFunc:

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 8

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 1.96

bookПередача Масивів у Функції

Свайпніть щоб показати меню

Корисною можливістю є передача масивів у функції, що дозволяє використовувати ці масиви в інших областях видимості, особливо коли вони оголошені локально.

Загальний синтаксис для аргументу масиву у функції виглядає так:

argName [expectedArraySize] dataType

Реалізація цього у функції виглядає приблизно так:

index.go

index.go

copy
123
func myFunc(arr [5] int) { // code here }

Наступний приклад демонструє передачу масиву у функцію та його використання:

index.go

index.go

copy
123456789101112131415
package 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

index.go

copy
12345678910111213
package 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) }

Примітка

На відміну від передачі за значенням, існує поняття передачі за посиланням, коли у функцію передається посилання на масив або змінну. Відповідно, зміна значення всередині функції також змінює джерело. У деяких мовах програмування масиви за замовчуванням передаються за посиланням.

question mark

Який правильний код для параметра функції myFunc:

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 8
some-alt