1. 程式人生 > >go語音基礎之閉包捕獲外部變數特點

go語音基礎之閉包捕獲外部變數特點

1、閉包捕獲外部變數特點

示例:

package main //必須

import "fmt"

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

	func() {
		//閉包以引用方式捕獲外部變數
		a = 666
		str = "go"
		fmt.Printf("內部:a = %d, str = %s\n", a, str)
	}() //()代表直接呼叫

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

}

執行結果:

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