Notice
Recent Posts
Recent Comments
Link
투케이2K
19. (Go Lang) [Mac Os] Go 문법 : 기본 function 함수 생성 수행 - 클로저 (Closure) 본문
Go Lang (Go 언어)
19. (Go Lang) [Mac Os] Go 문법 : 기본 function 함수 생성 수행 - 클로저 (Closure)
투케이2K 2024. 2. 16. 21:39[개발 환경 설정]
개발 언어 : Go
[소스 코드]
package main
import "fmt"
func main() {
// [변수 선언]
var next_result = 0
var another_result = 0
// [클로저 (Closure) 호출 수행]
/*
1) Closure 는 함수 바깥에 있는 변수를 참조하는 함수값 (function value) 을 의미합니다
2) 만약 anotherNext := nextValue()와 같이 새로운 Closure 함수값을 생성한다면, 변수 i는 초기 0을 갖게 되므로 다시 1부터 카운팅 한다
*/
next := nextValue()
next_result = next() // 1
next_result = next() // 2
anotherNext := nextValue() // 다시 시작
another_result = anotherNext() // 1
// [로그 출력 실시]
fmt.Println("")
fmt.Println("----------------------------------------------")
fmt.Println("[로그 출력 수행]")
fmt.Println("----------------------------------------------")
fmt.Println("next_result : ", next_result)
fmt.Println("another_result : ", another_result)
fmt.Println("----------------------------------------------")
fmt.Println("")
}
func nextValue() func() int {
i := 0
return func() int {
i++
return i
}
}
[결과 출력]
반응형
'Go Lang (Go 언어)' 카테고리의 다른 글
Comments