воскресенье, 13 января 2019 г.

Основы Go: функция как значение

Функции в Go тоже являются значениями. Их можно передавать так же как и остальные значения.

Функции могут быть использованы как аргументы других функций и как возвращаемые значения.

package main

import (
  "fmt"
  "math"
)

func compute(fn func(float64, float64) float64) float64 {
  return fn(3, 4)
}

func main() {
  hypot := func(x, y float64) float64 {
    return math.Sqrt(x*x + y*y)
  }
  fmt.Println(hypot(5, 12))

  fmt.Println(compute(hypot))
  fmt.Println(compute(math.Pow))
}

Вывод:

13
5
81


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


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

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