go(func(){})() 和 go func(){}() 都是启动一个新的 goroutine 并立即执行其中的函数,不同之处在于前者使用了一个匿名函数作为参数,后者直接使用了一个函数字面量。

它们两者之间并没有闭包的含义。闭包是指一个函数可以访问并操作其外部作用域中的变量,而这两种写法中的函数都没有访问其外部作用域中的变量。如果在这些函数中使用了外部变量,则可以形成闭包。例如:

x := 1
go func() {
    fmt.Println(x)
}()

在这个例子中,匿名函数访问了外部变量 x,因此形成了闭包。

go func 和 go func 区别。哪个有闭包的含义

原文地址: https://www.cveoy.top/t/topic/dxBE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录