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

bookПовернення Значень з Функцій

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

Ключове слово return дозволяє функціям повертати дані у ту частину коду, де вони були викликані. Ось синтаксис функції з оператором return:

func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
      // Code
     
      return data_to_be_returned
}

data_to_be_returned — це місце, де вказується вираз або значення. returned_datatype позначає очікуваний тип даних для значення, яке буде повернуто. Це стане зрозуміліше на прикладі.

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

index.go

index.go

copy
1234567891011121314
package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }

Зверніть увагу, що у функції Println використовується myFunc(5, 7), і наведена вище програма виводить результат 47, який отримується внаслідок обчислень, виконаних функцією myFunc(). Це демонструє, що оператор return передає певні дані назад у місце, де була викликана функція. Крім того, повернуті дані можна зберегти у змінній:

index.go

index.go

copy
12
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'

Примітка

Функція не потребує параметрів для використання оператора return.

Функція не може містити жодного коду після оператора return, і зазвичай Go не дозволяє декілька операторів return:

index.go

index.go

copy
1234567891011
// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }

Проте можливо використовувати оператор return у умовних конструкціях для вибіркового повернення значень:

index.go

index.go

copy
123456789101112131415
package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
question mark

Яким буде вивід наступної програми?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you show an example of a function using the return statement in Go?

What happens if I try to put code after a return statement in a Go function?

Can a Go function return multiple values?

Awesome!

Completion rate improved to 1.96

bookПовернення Значень з Функцій

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

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

Ключове слово return дозволяє функціям повертати дані у ту частину коду, де вони були викликані. Ось синтаксис функції з оператором return:

func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
      // Code
     
      return data_to_be_returned
}

data_to_be_returned — це місце, де вказується вираз або значення. returned_datatype позначає очікуваний тип даних для значення, яке буде повернуто. Це стане зрозуміліше на прикладі.

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

index.go

index.go

copy
1234567891011121314
package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }

Зверніть увагу, що у функції Println використовується myFunc(5, 7), і наведена вище програма виводить результат 47, який отримується внаслідок обчислень, виконаних функцією myFunc(). Це демонструє, що оператор return передає певні дані назад у місце, де була викликана функція. Крім того, повернуті дані можна зберегти у змінній:

index.go

index.go

copy
12
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'

Примітка

Функція не потребує параметрів для використання оператора return.

Функція не може містити жодного коду після оператора return, і зазвичай Go не дозволяє декілька операторів return:

index.go

index.go

copy
1234567891011
// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }

Проте можливо використовувати оператор return у умовних конструкціях для вибіркового повернення значень:

index.go

index.go

copy
123456789101112131415
package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
question mark

Яким буде вивід наступної програми?

Select the correct answer

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

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

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

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