こんにちは。Tomoyuki(@tomoyuki65)です。
Go言語(Golang)のバージョン1.27では、「go doc」コマンドでパッケージのバージョン指定ができるようになりました。
これにより、利用している外部パッケージにおいて、特定のバージョンを指定してドキュメント(コメント)を確認することが可能です。
この記事では、そんな「go doc」コマンドについてご紹介します。
Go言語(Golang)1.27から「go doc」コマンドでパッケージのバージョン指定が可能に!使い方も解説
「go doc」コマンドとは?
Go言語の「go doc」コマンドは、Goのパッケージや関数、型などのドキュメント(コメント)をターミナル上で確認するためのコマンドです。
「go doc」コマンドの使い方
例えば以下のようなコマンドを実行し、Go言語の標準パーケージのドキュメントを確認できます。
$ go doc fmt
実行結果を一部抜粋

また、以下のようにメソッドを指定することも可能です。
$ go doc fmt.Println
実行結果

外部パッケージのドキュメントも確認可能
そして、利用している外部パッケージのドキュメントも確認可能です。
$ go doc github.com/google/uuid
※go.modでrequireされている外部パッケージが対象です。
実行結果

また、Go1.27からは「package@version」構文に対応し、以下のようにバージョンを指定してドキュメントを確認できます。
$ go doc github.com/google/uuid@v1.5.0
実行結果

ただし、「package@version」構文を利用した場合は、特定のメソッドを指定してドキュメントを確認することはできないようです。
尚、既にgo.modでrequireされている外部パッケージについては、以下のように特定のメソッドのドキュメントを確認できます。
$ go doc github.com/google/uuid.UUID
実行結果

自分が作成したコードでも使える
また、「go doc」コマンドは自分が作成したコードでも使えます。
例えば以下のようなファイルを作成して下さい。
$ mkdir sample && touch sample/sample.go
次に作成したファイルを以下のように記述します。
・「sample/sample.go」
package sample
import "fmt"
// 内部用の関数
func sample() {
fmt.Println("sample関数")
}
// 外部公開用の関数
func SamplePublic() {
fmt.Println("SamplePublic関数")
}
/*
コメントに改行を含めたい場合
の関数「SampleLineBreak」
*/
func SampleLineBreak() {
fmt.Println("SampleLineBreak関数")
}
次に以下のコマンドを実行し、sampleパッケージのドキュメントを確認します。
$ go doc sample
実行結果
func SampleLineBreak()
func SamplePublic()
※デフォルトでは内部用の関数は非表示となる
次に以下のコマンドを実行し、外部公開用の関数「SamplePublic」のドキュメントを確認します。
$ go doc sample.SamplePublic
実行結果
func SamplePublic()
外部公開用の関数
次にオプション「-all」を利用し、以下のコマンドを実行して外部公開している全ての関数のドキュメントを確認します。
$ go doc -all sample
実行結果
FUNCTIONS
func SampleLineBreak()
コメントに改行を含めたい場合
の関数「SampleLineBreak」
func SamplePublic()
外部公開用の関数
次にオプション「-u」を利用し、内部用の関数も含めて確認します。
$ go doc -u sample
実行結果
func SampleLineBreak()
func SamplePublic()
func sample()
次にオプション「-all」も組み合わせて実行してみます。
$ go doc -u -all sample
実行結果
FUNCTIONS
func SampleLineBreak()
コメントに改行を含めたい場合
の関数「SampleLineBreak」
func SamplePublic()
外部公開用の関数
func sample()
内部用の関数
Go1.27で追加されたオプション「-ex」でテストコードにあるExample関数を確認
Go1.27ではオプション「-ex」も追加され、テストコードにある「Example〜」関数を確認できるようになってます。
例えば以下のテストコードを追加します。
$ touch sample/sample_test.go
次に作成したファイルを以下のように記述します。
・「sample/sample_test.go」
package sample
import "fmt"
func ExampleSamplePublic() {
SamplePublic()
// Output: SamplePublic関数
}
func ExampleSampleLineBreak() {
SampleLineBreak()
// Output:
//
// SampleLineBreak関数
}
次にオプション「-ex」を利用し、テストコードにあるExample関数を確認します。
$ go doc -ex sample
実行結果
func SampleLineBreak()
func ExampleSampleLineBreak()
func SamplePublic()
func ExampleSamplePublic()
次に以下のコマンドを実行し、ExampleSamplePublic関数のドキュメントを確認します。
$ go doc sample.ExampleSamplePublic
実行結果
SamplePublic()
Output: SamplePublic関数
※ExampleSamplePublic関数の中身を出力している
次に以下のコマンドを実行し、ExampleSampleLineBreak関数のドキュメントを確認します。
$ go doc sample.ExampleSampleLineBreak
実行結果
SampleLineBreak()
Output:
SampleLineBreak関数
最後に
今回はGo言語の「go doc」コマンドについてご紹介しました。
Go言語は「go doc」コマンドを使うことで、標準パッケージや、外部パッケージのドキュメント(コメント)から仕様などの確認ができるようになっています。
便利機能になっているので、ぜひ覚えておきましょう!




コメント