【goベース】閉パック
2676 ワード
クローズドパッケージ
閉パッケージは、関数とそれに関連する参照環境の組合せの全体(エンティティ)です.は閉パケットをクラスと見なすことができ、前例ではAddUpper()をクラスと見なすことができ、匿名関数
閉パッケージは、関数とそれに関連する参照環境の組合せの全体(エンティティ)です.
package main
import (
"fmt"
)
// AddUpper
func AddUpper() func(int) int {
var n int = 10
return func(x int) int {
n = n + x
return n
}
}
func main() {
f := AddUpper()
fmt.Println(f(1)) // 11
fmt.Println(f(2)) // 13
}
func (x int) int {...}
はクラスのメソッドであり、関数で参照されるnはクラスの属性である.