среда, 5 июня 2019 г.

Спецификация Go: литералы функций

Литерал функции представляет собой анонимную функцию.

FunctionLit = "func" Signature FunctionBody .

func(a, b int, z float64) bool { return a*b < int(z) }

Литерал функции может быть назначен переменной или вызван напрямую.

f := func(x, y int) int { return x + y }
func(ch chan int) { ch <- ACK }(replyChan)

Литералы функций являются замыканиями (closures): они могут ссылаться на переменные, определенные в окружающей функции. Эти переменные затем разделяются между окружающей функцией и литералом функции, и они сохраняются до тех пор, пока они доступны.


Читайте также:


Комментариев нет:

Отправить комментарий