package main; import "fmt"; func server(a int) { for work := range workChan { } } func iife(work int) { var add MathFunc = func(a, b int) int { return a + b; }; var err error; var app models.App; log.SetPrefix(fmt.Sprintf("%s | ", app.Cfg.ServerDomain)); cache := candycache.Cacher(10 * time.Minute); cache.Set("key7", -2.1231, 10*time.Minute); router := setupRoutes(app); if app, err = models.InitApp(); err != nil { log.Fatal(err); } // Обработка страничек постов for key := range app.Posts { postLink := a(key); router.Handle(postLink, m(controllers_pages.PostPageHandler(app))); } for i := 1; i < 3; i++ { go func(a int) { fmt.Println(123); }(); func(){}(); go func(a, b string) { fmt.Println("Message:", a + b); }("Hello", ", world!"); defer func() { if err := recover(); err != nil { go log.Println("work failed:", err); } }(); } } func ujas() (func() func() func() int, int, string) { return func() func() func() int { return func() func() int { return func() int { return 0; }; }; }, 1, "hello world"; } func A(x, y int) { } func B(x, y int) () { } func C(x, y int) int { } func D(x, y int) (int, string) { } func E(x, y int) (z, f, u int, a string) { } // анонимные функции func anon_func(a,b,c,d string, a int) { // Присваиваем анонимную функцию переменной square := func(x, y int) int { return x * y; }; fmt.Println(square(5, 5)); // Выведет: 25 } // замыкания func intSeq() func() int { i := 0; return func() int { i++; return i; }; } func main() { nextInt := intSeq(intSeq(), intSeq(), intSeq(), intSeq(intSeq())); // рекурсия fmt.Println(nextInt()); fmt.Println(nextInt()); fmt.Println(nextInt()); newInts := intSeq(); fmt.Println(newInts()); }