go语言基础之闭包捕获外部变量特点

1、闭包捕获外部变量特点

示例:

package main //必须

import "fmt"

func main() {
	a := 10
	str := "mike"

	func() {
		//闭包以引用方式捕获外部变量
		a = 666
		str = "go"
		fmt.Printf("内部:a = %d, str = %s
", a, str)
	}() //()代表直接调用

	fmt.Printf("外部:a = %d, str = %s
", a, str)

}

执行结果:

内部:a = 666, str = go
外部:a = 666, str = go

  

原文地址:https://www.cnblogs.com/nulige/p/10232781.html