Литерал функции без параметров в Go
Литералу не всегда нужны входные данные. Тогда круглые скобки после типа параметров оставляют пустыми, а результат считают внутри тела:
package main
import "fmt"
func main() {
readCode := func() int {
return 200
}
fmt.Println(readCode()) // выведет 200
}
Такой блок удобен, когда нужно отложить действие без данных снаружи. Сообщение в консоль можно обернуть в литерал и вызвать позже:
package main
import "fmt"
func main() {
sayOk := func() {
fmt.Println("ok")
}
sayOk()
}
Литерал без параметров может возвращать
значение через return:
package main
import "fmt"
func main() {
pickLabel := func() string {
return "default"
}
fmt.Println(pickLabel()) // выведет default
}
Создайте переменную через :=, которая
возвращает строку
"start". Выведите результат
двух вызовов в консоль.
Создайте переменную через :=, которая
выводит
"done". Вызовите ее один раз.