최데브는 오늘도 프로그래밍을 한다.

Go 언어 - defer 본문

Go

Go 언어 - defer

최데브 2021. 6. 2. 23:23
반응형

defer 는 매우 강력한 기능이다.

func 가 끝나고나면 자동으로 무엇을 실행할지 함수안에 적어둘수가 있다.

 

그게 뭐가 강력하냐고 물을수도 있겠지만 

시스템 구조상으로 엄청나게 도움을 줄 수 있다.

이미지를 열거나 파일을 생성하고 나서 

defer 로 이미지를 닫거나 파일을 닫거나 API 로 요청을 보내거나 하는 일들을 

그냥 defer 하나로 처리할 수 있게 되는것이다.

 

아래처럼 쓸 수 있다.

func lenAndUpper(name string) (int, string) {
	defer fmt.Println("done")
	return len(name), strings.ToUpper(name)
}

func main() {
	totalLenght, upperName := lenAndUpper("choi")
	fmt.Println(totalLenght, upperName)
}
반응형

'Go' 카테고리의 다른 글

Go 언어 - 포인터 , 배열, Map  (0) 2021.06.06
Go 언어 - Const , Var , func  (0) 2021.06.02
Go 언어 - Go 설치하기  (0) 2021.05.30
Go 언어 - go 에 대하여  (0) 2021.05.30
Comments