Уроки Golang с нуля /#9 - Создание и работа с функциями в Go
- телеграм канал Golang для разработчиков.
В языке программирования Golang функция представляет собой блок кода, который может принимать входные параметры и возвращать выходные значения. Для создания функции в Golang необходимо использовать ключевое слово `func`, за которым следует имя функции и список параметров в скобках (если функция принимает параметры). Тело функции заключается в фигурные скобки.
Пример создания функции, которая принимает два числа и возвращает их сумму:
```go
func sum(a int, b int) int {
return a b
}
```
Для вызова функции необходимо указать ее имя и передать значения параметров в скобках:
```go
result := sum(3, 4) // результат будет равен 7
```
Функции в Golang могут также возвращать несколько значений. Для этого необходимо просто перечислить их через запятую.
Пример функции, которая принимает список чисел и возвращает их сумму и произведение:
```go
func sumAndProduct(numbers []int) (int, int) {
sum := 0
product := 1
for _, number := range numbers {
sum = number
product *= number
}
return sum, product
}
```
Вызов функции и использование возвращаемых значений:
```go
numbers := []int{3, 4, 5}
sum, product := sumAndProduct(numbers)
```
В данном примере используется синтаксис “голый“ возврат для возвращения значений без их явного указания в объявлении функции:
```go
func sumAndProduct(numbers []int) (sum int, product int) {
for _, number := range numbers {
sum = number
product *= number
}
return
}
```
Для передачи аргумента функции не в виде значения, а в виде ссылки на переменную существует возможность использования указателей на переменные.
3 views
4
0
2 years ago 00:46:53 37
Уроки по Golang. Advanced. REST API. Вебсервер.
2 years ago 00:28:11 43
Golang с нуля - основы языка программирования! Уроки по golang для начинающих. 101
3 years ago 00:46:11 36
Golang с нуля основы языка программирования! Уроки по golang для начинающих. Часть 2
3 years ago 00:22:14 8
Изучаем Golang. Урок 11. Паники! Panics!
1 year ago 00:02:08 10
Golang урок 2. Пакеты
2 years ago 00:17:29 18
Изучаем Golang. Урок №27. Пакеты (Packages)
3 years ago 00:28:17 19
Уроки по Golang. Advanced. Чистая Архитектура / Clean Architecture Часть 2