タグ

ブックマーク / pod.hatenablog.com (2)

  • deferのタイミングで関数の戻り値を変えたい場合には、named return使うしかないのかも? - podhmo's diary

    はじめに 例えば、以下の様な状況。 deferで何らかの後片付けをする。 この後片付けのタイミングでerrorが発生。 この時、deferの中の処理で発生したerrorを戻り値として返したい。このような事をしようとした場合にnamed returnを使うしかなかったという話。 sample f()の後片付けの最中のcleanup()でerrorが発生する場合。 func f()(string, error) { s, err := g() defer cleanup(s) return s, err } func g()(string, error) { return "ok", nil } func cleanup(s string) error { return fmt.Errorf("hmm") } もちろんこの時の出力結果は以下の様になる。 fmt.Println(f()) //

    deferのタイミングで関数の戻り値を変えたい場合には、named return使うしかないのかも? - podhmo's diary
  • makefileわりと便利だよという話 - podhmo's diary

    はじめに makeはmacにもlinuxにもデフォルトであって便利*1。 とは言え、色々とわかりづらいところがある。 便利なところだけ見繕って使うと便利。 個人的なmakefileの使い方は2種類 個人的には以下のような2つの目的でmakefileを使っている。 複数の目的のためのタスクを記述して手軽に実行できるようにする 1つの目的のためにまじめに依存関係を定義して使う成果物を生成する 後者がたぶん命だけれど。前者で使うことも多い。 複数の目的のためのタスクを記述して手軽に実行できるようにする 利用するコマンドのオプションを省略したい場合に使う。 脳みそのリソースの削減。細かなオプションの意味など後で見返した時に覚えていないことが多いのでメモがわりにmakefileを書く。 依存関係の書き方は以下の様な感じ。 <タスク名や生成されるファイル>: <依存するタスクや依存するファイル> .

    makefileわりと便利だよという話 - podhmo's diary
    kei2100
    kei2100 2017/07/26
  • 1