11章 テスト
11.6 Example関数
すごい。こんなものあるのかと思いました。
func ExampleAdd() { fmt.Println(Add(3, 4)) fmt.Println(Add(5, -1)) // Output: // 7 // 4 }
このようなものをhoge_test.go
に書いておき、godoc
するとドキュメントにコード例として表示されます。
さらにこのコードはgo test
で実際に実行されテストもされるので、型が違ったり結果が違うなど、ドキュメントが古くならないとのことです。
よくわかっていないのですが、fmtで印字されたものがチェックされるみたいです。
自分で作成したディレクトリでgodoc
を使ってみたかったのですが、やり方がわかりませんでした。
GOPATH
で設定されている%USERPROFILE%\go
の/src
にコピーしてgodoc
実行してみるとできました。
現在のディレクトリで実行することはできないんでしょうか?
これで11章が終わり、次は12章なのですが
この本の最後の二つの章では、reflectパッケージとunsafeパッケージを説明します。それらは、Goプログラマが日常的に使うパッケージではありませんし、使う必要があるGoプログラマはさらに少ないでしょう。もし、みなさんが相当な量のGoプログラムをまだ書いていないのであれば、今がGoプログラムを書く絶好の時期でしょう。
これで一旦読了としてしまったほうがいいのかもしれません。
流し読み程度で読み進めようと思います。
Example関数のような手法は、一般的にはDoctestというみたいです。