いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Task (go-task) メモ-16 (defer, タスク終了時に実行する処理)

概要

以下、自分用のメモです。

deferの指定

Task では、Goのように defer を指定することが出来ます。

Task自体がGoで作られているため当然のようにサポートされてますね。

Go の defer とは以下のような機能です。

他の言語のfinallyみたいなものとイメージしておけば良いと思います。

以下のようにして使います。

tasks:
  helloworld:
    cmds:
      - echo hello
      - defer: echo hehehe
      - echo world

上記を実行すると以下のように出力されます。

$ task -d 12.defer/ helloworld
task: [helloworld] echo hello
hello
task: [helloworld] echo world
world
task: [helloworld] echo hehehe
hehehe

deferが最後に実行されていますね。

クリーンアップ処理などを行う場合などに有用です。

github.com

参考情報

taskfile.dev

github.com

engineer.retty.me

zenn.dev

zenn.dev


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。