freeCodeCamp/guide/russian/go/variadic-functions/index.md

62 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
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
```