@theNorthWind

Есть ли простой способ передать задачу в Go?

Есть например функция func lul(x int), которая что-то делает. Я хочу передать задачу, например lul(5). Какие варианты чисто синтаксически это сделать?
Если это сложный вопрос, может быть посоветуете какие-то статьи? Я новичок.
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ответы на вопрос 1
WinPooh32
@WinPooh32
Stack Overflow answer searching expert
Пример замыканий:
package main
 
import (
    "fmt"
    "math/rand"
    "time"
)
 
type kelvin float64
 
func measureTemperature(samples int, sensor func() kelvin) { // measureTemperature принимает функцию в качестве второго параметра
    for i := 0; i < samples; i++ {
        k := sensor()
        fmt.Printf("%v° K\n", k)
        time.Sleep(time.Second)
    }
}
 
func fakeSensor() kelvin {
    return kelvin(rand.Intn(151) + 150)
}
 
func main() {
    measureTemperature(3, fakeSensor) // Передает название функции другой функции
}

Источник
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы