defer スクリプトに文書の表示を生成する要素を含まないことを宣言する
DeFer
defer
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/10 00:54 UTC 版)
「Go (プログラミング言語)」の記事における「defer」の解説
Goではdefer文という例外安全な強制実行のしくみを採用している。 deferはdeferキーワードに続けて、関数呼び出しかメソッド呼び出しを記述することで関数終了時に指定した処理の呼び出しを実行する。 ファイルのオープンとクローズなど、組になる作業で両方行われる必要があるものに多く使われる。 deferは下記の様に記述する。 defer 関数呼び出しかメソッド呼び出し deferはブロックを持たず入れ子が深くなるようなことはない。ただし、関数以外のブロックを無視する点に注意が必要である。例えばループ中でdeferを使用した場合、ループ内では指定した関数が呼ばれず関数終了時にdeferで指定した全ての関数呼び出しが行われる。 deferには、関数呼び出しかメソッド呼び出ししか記述できず、式や文を直接記述することはできないが、下記のように無名関数の即時実行を利用して、任意の式や文の実行も可能である。 defer func() {message := "done"fmt.Println(message)}()
※この「defer」の解説は、「Go (プログラミング言語)」の解説の一部です。
「defer」を含む「Go (プログラミング言語)」の記事については、「Go (プログラミング言語)」の概要を参照ください。
- de ferのページへのリンク