関数などで処理を抜ける直前になにかしたいときは deferを使うそうです!
return throwなどの直前にも◎
“Defer” は英語で「後回しにする」「延期する」「遅らせる」という意味です。プログラムにおいては、特定の操作を遅らせて実行するために使われるキーワードで、指定したコードを関数が終了する直前に実行することを意味します。
英語圏の人ってずるいですよね^^普通に読むだけでコードの意味がわかるので。
deferはこういう使い方するって知っていても英語を知らないとなぜdeferなのか?を知らないので不利ですね、熟知している方には問題なくても、初心者にはなかなか手強いです
基本的な使い方
func exampleFunction() {
print("Start of function")
// deferで指定されたコードは、この関数の終了時に実行されます
defer {
print("This will run last, before returning from the function.")
}
print("Middle of function")
}
出力:
Start of function
Middle of function
This will run last, before returning from the function.
明示的なメモリ解放など
return nil や throwでエラーを返す前にも実行できるそうなので便利そうです!
コメント