๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Data Base/Go

[Golang] defer

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 11. 1.
๋ฐ˜์‘ํ˜•

defer๋ฌธ์€ ์ž์‹ ์„ ๋‘˜๋Ÿฌ์‹ผ ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ์–ด๋– ํ•œ ํ•จ์ˆ˜์˜ ์‹คํ–‰์„ ์—ฐ๊ธฐํ•œ๋‹ค.

์—ฐ๊ธฐ๋œ ํ˜ธ์ถœ์˜ ์ธ์ž๋Š” ์ฆ‰์‹œ ํ‰๊ฐ€๋˜์ง€๋งŒ, ๊ทธ ํ•จ์ˆ˜ ํ˜ธ์ถœ์€ ์ž์‹ ์„ ๋‘˜๋Ÿฌ์‹ผ ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค.

 

์˜ˆ์ œ

package main

import "fmt"

func main() {
	defer fmt.Println("world")

	fmt.Println("hello")
}

 

 

 

์—ฐ๊ธฐ๋œ ํ•จ์ˆ˜ ํ˜ธ์ถœ๋“ค์€ ์Šคํƒ์— ์Œ“์ธ๋‹ค.

ํ•œ ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ๊ทธ๊ฒƒ์˜ ์—ฐ๊ธฐ๋œ ํ•จ์ˆ˜๋“ค์€ ํ›„์ž…์„ ์ถœ ์ˆœ์„œ๋กœ ์ˆ˜ํ–‰๋œ๋‹ค.

 

์˜ˆ์ œ

package main

import "fmt"

func main() {
	fmt.Println("counting")

	for i := 0; i < 10; i++ {
		defer fmt.Println(i)
	}

	fmt.Println("done")
}

 

 

 

 

[์ฐธ๊ณ  ์‚ฌ์ดํŠธ - a Tour of Go]

๋ฐ˜์‘ํ˜•

'Data Base > Go' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์‰ฝ๊ณ  ๋น ๋ฅธ Go ์‹œ์ž‘ํ•˜๊ธฐ] #2.0 Account + NewAccount  (0) 2021.11.02
[Golang] Slices (์Šฌ๋ผ์ด์Šค)  (0) 2021.11.01
[Golang] Switch  (0) 2021.11.01
[Golang] if๋ฌธ  (0) 2021.11.01
[Golang] C์˜ while = Go์˜ for  (0) 2021.11.01

๋Œ“๊ธ€