Files
freeCodeCamp/guide/russian/go/variadic-functions/index.md
2018-10-16 21:32:40 +05:30

62 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Variadic Functions
localeTitle: Вариадические функции
---
## Вариадические функции
Вариадические функции - это функции, которые можно вызывать с любым числом возвращающих аргументов.
Это полезная функция, когда мы работаем над веб-приложениями.
Иногда нам не так много элементов, которые нам нужно будет передать движку HTML-шаблонов.
Вот основные сведения о том, как работают варидические функции:
```go
package main
import "fmt"
func printFruits(fruits ...string) {
for _, fruit := range fruits{
fmt.Println(fruit)
}
}
func main() {
printFruits("apple", "bannana")
printFruits("papaya", "coconut", "pear", "pineapple")
berries := []string{"blueberry", "strawberry", "raspberry"}
printFruits(berries...)
}
```
Во-первых, в printFruits мы определили количество аргументов с \[... string\].
Это говорит Go, что эта функция принимает любое количество строковых аргументов.
Первые два вызова printFruits показывают, что функция будет печатать каждую строку, даже если мы передаем другое количество аргументов.
```text
apple
bannana
...
papaya
coconut
pear
...
```
Это также будет работать для срезов.
Чтобы использовать функцию vardiac со срезом, мы добавляем точки тренировки к вызову.
```go
printFruits(berries...)
```
```text
blueberry
strawberry
raspberry
```