Golang
たとえば hoge.ini というコマンドラインを与えると、Windows であれば「ini に関連付けられたテキストエディタ」で開いてくれる。しかし Golang の exec.Command() では開いてくれない。さあどうする? ini ファイルを何で開くかを明示的に与える? もっと…
Python の時はちゃんと CRLF で書いてくれていたが、Golang だと LF 固定になる模様。Go 公式も「CRLF はサポートしない」と結論を出している。 試したコード CRLF をサポートしない、の根拠は? 試したコード func list2file(filepath string, lines []stri…
最初は AllenDang/w32 を検討していたが、手元の Windows 7 で動かなかった& なんか fork してる別ソース使わないとダメ(or 自分でソース直す)っぽかった、で面倒だったので、一度自分で書いてみることに。 ソース 解説 感想 参考 ソース package main impo…
ファイルに書き込む系の処理の話だが、Python で書いてきたコードたちは CRLF になってくれていた。しかし Golang だと LF になる模様。CRLF にする方法はないものかと調べた。 結論 どうしても CRLF で出したいなら? 余談 なぜ LF であるべき? そもそもな…
ここ数週間くらいは Golang を触っていた。stakiran/intoc という Markdown から TOC をつくる Python 製ツールがあって、これを Golang で実装し直すことで学習を図った。 ここまで学んだことをざっくりまとめておく。 前提 環境構築 言語環境のインストー…
File に Write して、ちゃんと Flush もしてるのに、なぜかゴミが append されているような挙動になる。ゴミデータはどうも「前回そのファイルに存在していた内容」っぽい。つまり古いファイル内容が残ったままになっている?……という、よくわからない挙動に…
具体例で段階的に理解を試みるアプローチ。 初期化、処理、後始末をする例 処理の途中でエラーが起きたとする 後処理を実行させるために defer を使う この defer、内部的には何してんの? おわりに 初期化、処理、後始末をする例 例として初期化、処理、後…