Повернення Значень з Функцій
Можливість передавати дані у функції є корисною, але не менш важливою є здатність отримувати дані з функцій. Саме тут ключове слово 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
1234567891011121314package 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
12var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'
Примітка
Функція не потребує параметрів для використання оператора
return.
Функція не може містити жодного коду після оператора return, і зазвичай Go не дозволяє декілька операторів return:
index.go
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
123456789101112131415package 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()) }
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Повернення Значень з Функцій
Свайпніть щоб показати меню
Можливість передавати дані у функції є корисною, але не менш важливою є здатність отримувати дані з функцій. Саме тут ключове слово 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
1234567891011121314package 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
12var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'
Примітка
Функція не потребує параметрів для використання оператора
return.
Функція не може містити жодного коду після оператора return, і зазвичай Go не дозволяє декілька операторів return:
index.go
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
123456789101112131415package 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()) }
Дякуємо за ваш відгук!