Golang

[Golang] Closure

GenieLove! 2022. 4. 18. 23:24
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