728x90
반응형
1.클로저란 - 함수가 종료되어도 함수 내부에 있는 변수가 사라지지 않고, 계속 사용할 수 있도록 해주는 것
func closure() func() {
var i int = 0
return func() {
i++
fmt.Println(i)
}
}
func main() {
function := closure()
function()
function()
function()
//1
//2
//3
}
2.사용 이유
(1)불필요한 전역변수를 없애기 위해
(2)함수의 캡슐화(get(), set()가 비슷한 움직임)
728x90
반응형
'Golang' 카테고리의 다른 글
[Golang] iota (0) | 2022.11.20 |
---|---|
Error Is, As (0) | 2022.10.15 |
[Golang] 채널, 컨텍스트 (0) | 2022.04.18 |
[Golang] 고루틴과 동시성 (0) | 2022.04.17 |
[Golang] Gin-Swagger (0) | 2022.03.30 |