CodeFun Go

匿名函数协程

golang 中的匿名函数也可以使用 goroutine 调用。

下面是在 goroutine 中调用匿名函数的格式

go func(){
   //body
}(args..)

在使用 goroutine 调用匿名函数或使用 goroutine 调用普通函数时,行为没有区别

package main

import (
	"fmt"
	"time"
)

func main() {
	f("direct1")

	go func(from string) {
        fmt.Println(from, "run")
    }("goroutine1")

	f("direct2")

	time.Sleep(time.Second)
	fmt.Println("done")
}

func f(from string) {
    fmt.Println(from, "run")
}
direct1 run
direct2 run
goroutine1 run
done