概要
忘れない内にメモメモ。
知らなかったのですが、GoLandでデバッグ時に DebugString() string
というメソッドを用意しておくと
デバッガで表示してくれるみたい。
v2019.2 から追加された機能みたいですね。
試してみます。
サンプル
package main import ( "fmt" "os" ) type myData struct { i int } // String -- impl fmt.Stringer::String func (m myData) String() string { return fmt.Sprintf("fmt.stringer %d", m.i) } // DebugString -- String representation for Debugger func (m myData) DebugString() string { return fmt.Sprintf("debug string %d", m.i) } func main() { os.Exit(run()) } func run() int { m := myData{i:100} fmt.Println(m) return 0 }
上記のようなコードを書いてみて、以下のようにデバッガで止めてみました。
本当だ。確かに DebugString()
の内容が表示されてますね。
下のデバッガーペインの方も
DebugString()
の情報が表示されています。
んで、実際の実行結果は当然ですが
ってなっています。
これは結構便利かもしれませんね。
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場