かまたま日記3

プログラミングメイン、たまに日常

golang

Datadog LogsをCLIでtailするツールを作った

github.com モチベーションとしては、Datadog LogsのWebコンソールはメッセージの全文が長いと全部表示されなかったり普通のtailと違って時間の降順に並んだりで微妙に見づらかったりするので、CLIでtail -fコマンド感覚で見れて雑にgrepとかしたいと思って…

GolangでForループの中でdeferしない

defer はそれが定義された関数が終わったタイミングで実行されるので、forループでdeferを定義してしまうと、forループが終わって所属する関数が終わったタイミングで一斉に実行される。 package main import "fmt" func main() { for i := 1; i <= 5; i++ {…

Goで複数バージョンを管理する

まあここに書いてることそのままなのですが、日本語のメモとして。 go get でダウンロード用のバイナリを取ってきて、downloadコマンドを打つ $ go get golang.org/dl/go1.12.5 $ go1.12.5 download Downloaded 0.0% ( 15175 / 127612395 bytes) ... Downloa…

Golangのポインタの概念を深める

golangをちょっといじってます。 今まで使ったことがある言語(Java, Ruby, JavaScriptなど)には無かったポインタについて 色々実行してみた結果を張っておきます。 考察 あるオブジェクトを変数に入れるとコピー的なものが作成され、元の変数には影響を与え…