Multiple defer Blocks Ordering
Understand reverse execution order of defers.
Multiple defers
A scope can contain several defer blocks. They all run at scope exit.
func demo() {
defer { print("A") }
defer { print("B") }
print("body")
}
demo()Reverse (LIFO) Order
Deferred blocks run in reverse order of declaration: last declared runs first.
func order() {
defer { print("1") }
defer { print("2") }
defer { print("3") }
print("start")
}
order()All lessons in this course
- How defer Works
- Multiple defer Blocks Ordering
- defer for Resource Cleanup
- defer with Errors and Early Returns