-
-
Notifications
You must be signed in to change notification settings - Fork 9
Defer Statement
IsaacShelton edited this page Mar 21, 2022
·
1 revision
Defer statements are used to postpone a statement until the end of the current scope
import basics
func main {
defer print("One")
defer print("Two")
defer print("Three")
print("I will be printed before anything else")
}
I will be printed before anything else
Three
Two
One
When the end of the scope is reached, or the scope is going to be left, all deferred statements will be executed in the reverse order they were encountered.
The most common use of defer
is to free dynamically allocated memory
import basics
func main {
x_squared_integers *int = new int * 10
defer delete x_squared_integers
// 0, 1, 4, 9, 16, etc.
repeat 10, x_squared_integers[idx] = idx * idx
// Print each
repeat 10, print(x_squared_integers[idx])
}
0
1
4
9
16
25
36
49
64
81