[インデックス 10938] ファイルの概要
このコミットは、Go言語のビルドツールである cmd/go
に対する広範な改善を含んでいます。主に、依存関係の計算の正確性向上、ビルドプロセスの並列化に向けた基盤の整備、新しいエイリアス「std」の導入、go build
コマンドへの -o
フラグの追加、そして import "C"
の依存関係の適切な処理に焦点を当てています。
変更されたファイルは以下の通りです。
src/buildscript_darwin_386.sh
src/buildscript_darwin_amd64.sh
src/buildscript_freebsd_386.sh
src/buildscript_freebsd_amd64.sh
src/buildscript_linux_386.sh
src/buildscript_linux_amd64.sh
src/buildscript_linux_arm.sh
src/buildscript_netbsd_386.sh
src/buildscript_netbsd_amd64.sh
src/buildscript_openbsd_386.sh
src/buildscript_openbsd_amd64.sh
src/buildscript_plan9_386.sh
src/buildscript_windows_386.sh
src/buildscript_windows_amd64.sh
- これらは各OSおよびアーキテクチャ向けのビルドスクリプトであり、Goパッケージのコンパイルとアーカイブ化の手順を定義しています。今回のコミットでは、これらのスクリプトから
errors
パッケージの明示的なビルドステップが削除され、コンパイラの出力ファイル名のサフィックスが変更されています。
- これらは各OSおよびアーキテクチャ向けのビルドスクリプトであり、Goパッケージのコンパイルとアーカイブ化の手順を定義しています。今回のコミットでは、これらのスクリプトから
src/cmd/go/build.go
:go build
コマンドの主要なロジックが含まれています。依存関係の解決、ビルドアクションの定義、並列ビルドの準備、-o
フラグの処理など、ビルドシステムの核心部分が変更されています。src/cmd/go/help.go
:go help
コマンドのヘルプメッセージが更新され、新しい「std」エイリアスに関する説明が追加されています。src/cmd/go/list.go
:go list
コマンドがパッケージ情報を表示する際に使用するPackage
構造体にStale
フィールドが追加されています。src/cmd/go/main.go
:go
コマンドのエントリポイントであり、allPackages
関数のロジックが変更され、新しい「std」エイリアスをサポートしています。src/cmd/go/pkg.go
: Goパッケージのメタデータを定義するPackage
構造体と、パッケージのロードおよび依存関係の解決ロジックが含まれています。Stale
フィールドの追加と、cgo
およびruntime
依存関係の処理が変更されています。src/cmd/go/run.go
:go run
コマンドのロジックが含まれています。ビルドされたバイナリの実行方法が変更されています。src/cmd/go/test.go
:go test
コマンドのロジックが含まれています。テストバイナリのビルドと実行に関する変更が含まれています。src/make.bash
: Goのビルドシステム全体の初期設定とビルドプロセスを管理するスクリプトです。go install -a all
がgo install -a std
に変更されています。src/run.bash
: Goのテスト実行スクリプトです。go test all
がgo test std
に変更されています。
コミット
commit 8f5f347e2c32ad1045ca902faab3d0c0fd735ae9
Author: Russ Cox <rsc@golang.org>
Date: Wed Dec 21 07:47:12 2011 -0500
cmd/go: many improvements
* correct dependency calculations
* comment meaning of action fields
* new alias "std" like "all" but standard packages only
* add -o flag to 'go build'
* set up for parallel build (still serial)
* understand that import "C" depends on cgo, runtime/cgo
R=golang-dev, mikioh.mikioh
CC=golang-dev
https://golang.org/cl/5502055
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/8f5f347e2c32ad1045ca902faab3d0c0fd735ae9
元コミット内容
cmd/go: many improvements
* correct dependency calculations
* comment meaning of action fields
* new alias "std" like "all" but standard packages only
* add -o flag to 'go build'
* set up for parallel build (still serial)
* understand that import "C" depends on cgo, runtime/cgo
変更の背景
このコミットは、Go言語のビルドシステムである cmd/go
の機能性、正確性、および将来的な拡張性を向上させることを目的としています。当時の go
コマンドはまだ初期段階にあり、ビルドの依存関係の管理、ユーザーインターフェース、および内部構造に改善の余地がありました。
具体的な背景としては、以下の点が挙げられます。
- 依存関係の正確性向上: 複雑なプロジェクトにおけるパッケージ間の依存関係を正確に解決し、不要な再ビルドを避け、ビルド時間を短縮する必要がありました。特に、
cgo
を使用するパッケージや、runtime
パッケージのような特殊なパッケージの依存関係は、より厳密に定義される必要がありました。 - ビルドプロセスの透明性と制御: ユーザーがビルドの挙動をより詳細に制御できるように、新しいフラグ(例:
-o
)の追加が求められていました。また、内部のビルドアクションの役割を明確にすることで、コードの可読性と保守性を向上させる必要がありました。 - 標準パッケージの扱い:
go install all
のように全てのパッケージを対象とするのではなく、標準ライブラリのパッケージのみを対象とする便利な方法が求められていました。これにより、開発者がGoの標準ライブラリを簡単にビルド・テストできるようになります。 - 並列ビルドへの準備: 当時はまだシリアルビルドでしたが、将来的なビルド時間の短縮のために、並列ビルドのアーキテクチャを内部的に準備しておくことが重要でした。これにより、マルチコア環境でのビルドパフォーマンス向上が見込まれます。
- Cgoの特殊な依存関係:
import "C"
を含むGoパッケージは、C言語のコードとの連携を可能にするcgo
ツールに依存します。このcgo
ツール自体もGoで書かれており、runtime/cgo
パッケージに依存するという循環的な依存関係を適切に処理する必要がありました。
これらの課題に対処するため、cmd/go
の内部ロジック、特にビルドの依存関係解決とアクションのスケジューリングメカニズムが大幅に改良されました。
前提知識の解説
このコミットの変更内容を理解するためには、以下のGo言語のビルドシステムに関する基本的な知識が必要です。
cmd/go
: Go言語の公式ツールチェーンの一部であり、ソースコードのコンパイル、パッケージの管理、テストの実行など、Go開発の主要なタスクを担うコマンドラインツールです。- Goのビルドプロセス:
- コンパイル: Goのソースコード(
.go
ファイル)は、Goコンパイラ(例:8g
(x86),6g
(amd64),5g
(arm))によってオブジェクトファイル(.8
,.6
,.5
など)にコンパイルされます。 - アーカイブ化 (
gopack
): コンパイルされたオブジェクトファイルは、gopack
ツールによってアーカイブファイル(.a
)にまとめられます。これは他のパッケージからインポート可能な形式です。 - リンク (
8l
,6l
,5l
): 実行可能ファイルを生成する場合、アーカイブファイルと必要なライブラリがリンカ(例:8l
,6l
,5l
)によってリンクされ、実行可能バイナリが生成されます。
- コンパイル: Goのソースコード(
go install
: 指定されたパッケージとその依存関係をコンパイルし、結果のアーカイブファイル(パッケージの場合)または実行可能ファイル(main
パッケージの場合)を$GOPATH/pkg
または$GOBIN
にインストールします。go build
: 指定されたパッケージとその依存関係をコンパイルしますが、結果をインストールせず、一時ディレクトリに生成します。main
パッケージの場合は実行可能ファイルを生成しますが、デフォルトでは一時ファイルとして扱われます。cgo
: GoプログラムからC言語のコードを呼び出すためのツールです。import "C"
ディレクティブを使用すると、Goコンパイラはcgo
ツールを呼び出して、Cコードとの連携に必要なGoソースファイルとCオブジェクトファイルを生成します。GOROOT
: Goのインストールディレクトリを指す環境変数です。標準ライブラリのソースコードなどが含まれます。GOPATH
: Goのワークスペースディレクトリを指す環境変数です。ユーザーが開発するプロジェクトのソースコード、コンパイル済みパッケージ、実行可能ファイルなどが配置されます。- ビルドスクリプト (
buildscript_*.sh
): Goの初期のビルドシステムでは、各OSおよびアーキテクチャごとにシェルスクリプトが用意されており、Goコンパイラやリンカを直接呼び出してパッケージをビルドしていました。これらのスクリプトは、Goのビルドプロセスを低レベルで制御していました。 - アクショングラフ (Action Graph): ビルドプロセスにおける各ステップ(パッケージのコンパイル、リンク、インストールなど)を「アクション」として抽象化し、それらの間の依存関係をグラフ構造で表現したものです。このグラフを辿ることで、ビルドの順序を決定し、効率的なビルドを実現します。
- 優先度キュー (Priority Queue): 要素に優先度が割り当てられ、最も優先度の高い要素から取り出されるデータ構造です。このコミットでは、並列ビルドのスケジューリングに利用されています。
- ヒープ (Heap): 優先度キューを効率的に実装するために使用されるツリーベースのデータ構造です。
技術的詳細
このコミットにおける主要な技術的変更点は、cmd/go
のビルドロジックの再構築と機能追加にあります。
-
依存関係計算の正確性向上と
Stale
フィールドの導入:src/cmd/go/pkg.go
のPackage
構造体にStale
(古くなっている) というブール型フィールドが追加されました。これは、そのパッケージが再ビルドを必要とするかどうかを示すものです。scanPackage
関数(パッケージのメタデータをスキャンする関数)内で、パッケージのソースファイル(Goファイル、Cファイル、Sファイル、Cgoファイル)の最終更新時刻と、ビルド済みターゲットファイル(.a
または実行可能ファイル)の最終更新時刻を比較することで、Stale
の値が決定されます。- さらに、パッケージがインポートする依存パッケージのいずれかが
Stale
である場合、そのパッケージ自身もStale
とマークされるようになりました。これにより、推移的な依存関係の変更が適切に伝播され、必要なパッケージのみが再ビルドされるようになります。 unsafe
パッケージは特殊なケースとして、常にStale
ではないと扱われます。
-
action
構造体の意味の明確化と並列ビルドの準備:src/cmd/go/build.go
のaction
構造体が大幅に拡張され、各フィールドの役割がより明確になりました。p *Package
: このアクションが対象とするパッケージ。deps []*action
: このアクションが実行される前に完了する必要がある依存アクションのリスト。triggers []*action
: このアクションが完了した後に実行可能になるアクションのリスト(deps
の逆)。cgo *action
:cgo
を使用するパッケージの場合、cgo
ツールをビルドするアクションへの参照。f func(*builder, *action) error
: 実際のアクションを実行する関数。ignoreFail bool
: 依存アクションが失敗してもこのアクションを実行するかどうか。link bool
: ターゲットが実行可能ファイルであるかどうか。pkgdir string
: このパッケージをインポートする際に使用する-I
または-L
引数。objdir string
: 中間オブジェクトファイルが格納されるディレクトリ。objpkg string
: アクション中に作成される中間パッケージアーカイブファイル。target string
: アクションの最終目標(作成されるパッケージまたは実行可能ファイル)。pending int
: 完了する必要がある依存アクションの数。priority int
: 実行優先度(深さ優先探索の順序で割り当てられる)。failed bool
: アクションが失敗したかどうか。
builder
構造体には、並列実行のためのexec
(ミューテックス)、readySema
(チャネル)、ready
(優先度キュー) が追加されました。do
関数は、アクショングラフを走査し、各アクションに優先度を割り当て、準備ができたアクションをready
キューに追加します。そして、複数のゴルーチン(現在は1つに制限されているが、将来的に並列化可能)がreadySema
から値を受け取り、ready
キューからアクションを取り出して実行するメカニズムが導入されました。これにより、ビルドの並列化に向けた基盤が構築されました。
-
新しいエイリアス "std" の導入:
src/cmd/go/help.go
にgo help
の説明として「std」エイリアスが追加されました。src/cmd/go/main.go
のimportPaths
関数とallPackages
関数が変更され、"std"
引数が渡された場合に$GOROOT
内の標準パッケージのみを対象とするようになりました。これにより、Goの標準ライブラリ全体を簡単にビルド・テストできるようになりました。
-
go build
コマンドへの-o
フラグの追加:src/cmd/go/build.go
のcmdBuild
コマンド定義に-o output
フラグが追加されました。runBuild
関数内で、-o
フラグが指定された場合の処理が追加されました。単一のmain
パッケージをビルドする場合にのみ-o
フラグが使用でき、複数のパッケージが指定された場合はエラーとなります。-o
フラグが指定された場合、ビルド結果の実行可能ファイルは指定されたパスに保存されます。
-
import "C"
の依存関係の適切な処理:src/cmd/go/pkg.go
のscanPackage
関数内で、CgoFiles
を持つパッケージが暗黙的にruntime/cgo
パッケージに依存するようになりました(ただし、runtime/cgo
自体は除く)。これにより、cgo
を使用するGoプログラムが正しくビルドされるための依存関係が保証されます。src/cmd/go/build.go
のcgo
関数が変更され、cgo
ツールを呼び出す際にcgoExe
(cgoバイナリのパス) を引数として受け取るようになりました。これにより、cgo
ツール自体のビルドが依存関係グラフに組み込まれ、必要に応じてビルドされるようになります。また、異なるOS向けにクロスコンパイルする際にはcgo
が使用できないという制約も追加されました。
-
ビルドスクリプトの変更:
- 各OS/アーキテクチャごとの
buildscript_*.sh
ファイルから、errors
パッケージの明示的なビルドステップが削除されました。これは、cmd/go
ツールが依存関係をよりインテリジェントに管理するようになったため、個々のパッケージのビルドをスクリプトで直接制御する必要がなくなったことを示唆しています。 - コンパイラの出力ファイル名のサフィックスが、以前の
.6
から、アーキテクチャを示す.8
(386),.6
(amd64),.5
(arm) に変更されました。これは、より汎用的な命名規則への移行を示しています。 src/make.bash
およびsrc/run.bash
において、GOPATH="" go install -a all
がgo install -a std
に変更されました。これは、Goのビルドシステムが標準パッケージのビルドとテストをより効率的に管理するようになったことを反映しています。
- 各OS/アーキテクチャごとの
コアとなるコードの変更箇所
src/cmd/go/build.go
における action
構造体の変更
--- a/src/cmd/go/build.go
+++ b/src/cmd/go/build.go
@@ -111,26 +138,39 @@ type builder struct {
goarch string // the $GOARCH
goos string // the $GOOS
gobin string // the $GOBIN
+ exe string // the executable suffix - "" or ".exe"
actionCache map[cacheKey]*action // a cache of already-constructed actions
+ mkdirCache map[string]bool // a cache of created directories
output sync.Mutex
scriptDir string // current directory in printed script
+
+ exec sync.Mutex
+ readySema chan bool
+ ready actionQueue
}
// An action represents a single action in the action graph.
type action struct {
- f func(*builder, *action) error // the action itself (nil = no-op)
+ p *Package // the package this action works on
+ deps []*action // actions that must happen before this one
+ triggers []*action // inverse of deps
+ cgo *action // action for cgo binary if needed
- p *Package // the package this action works on
- deps []*action // actions that must happen before this one
- done bool // whether the action is done (might have failed)
- failed bool // whether the action failed
- pkgdir string // the -I or -L argument to use when importing this package
- ignoreFail bool // whether to run f even if dependencies fail
+ f func(*builder, *action) error // the action itself (nil = no-op)
+ ignoreFail bool // whether to run f even if dependencies fail
- // Results left for communication with other code.
- pkgobj string // the built .a file
- pkgbin string // the built a.out file, if one exists
+ // Generated files, directories.
+ link bool // target is executable, not just package
+ pkgdir string // the -I or -L argument to use when importing this package
+ objdir string // directory for intermediate objects
+ objpkg string // the intermediate package .a file created during the action
+ target string // goal of the action: the created package or executable
+
+ // Execution state.
+ pending int // number of deps yet to complete
+ priority int // relative execution priority
+ failed bool // whether the action failed
}
src/cmd/go/pkg.go
における Package
構造体と依存関係計算の変更
--- a/src/cmd/go/pkg.go
+++ b/src/cmd/go/pkg.go
@@ -25,13 +26,16 @@ type Package struct {
Dir string // directory containing package sources
Version string `json:",omitempty"` // version of installed package (TODO)
Standard bool `json:",omitempty"` // is this package part of the standard Go library?
+ Stale bool `json:",omitempty"` // would 'go install' do anything for this package?
// Source files
- GoFiles []string // .go source files (excluding CgoFiles)
- CFiles []string `json:",omitempty"` // .c source files
- HFiles []string `json:",omitempty"` // .h source files
- SFiles []string `json:",omitempty"` // .s source files
- CgoFiles []string `json:",omitempty"` // .go sources files that import "C"
+ GoFiles []string // .go source files (excluding CgoFiles)
+ CFiles []string `json:",omitempty"` // .c source files
+ HFiles []string `json:",omitempty"` // .h source files
+ SFiles []string `json:",omitempty"` // .s source files
+ CgoFiles []string `json:",omitempty"` // .go sources files that import "C"
+ CgoCFLAGS []string `json:",omitempty"` // cgo: flags for C compiler
+ CgoLDFLAGS []string `json:",omitempty"` // cgo: flags for linker
// Dependency information
Imports []string `json:",omitempty"` // import paths used by this package
@@ -42,8 +46,8 @@ type Package struct {
pkgdir string
info *build.DirInfo
imports []*Package
- gofiles []string // GoFiles+CgoFiles
- targ string
+ gofiles []string // GoFiles+CgoFiles, absolute paths
+ target string // installed file for this package (may be executable)
}
// packageCache is a lookup cache for loadPackage,
@@ -131,12 +135,33 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string
\tp.gofiles = append(p.gofiles, filepath.Join(dir, f))\n \t}\n \tsort.Strings(p.gofiles)\n+\tsrcss := [][]string{\n+\t\tp.GoFiles,\n+\t\tp.CFiles,\n+\t\tp.HFiles,\n+\t\tp.SFiles,\n+\t\tp.CgoFiles,\n+\t}\n+Stale:\n+\tfor _, srcs := range srcss {\n+\t\tfor _, src := range srcs {\n+\t\t\tif fi, err := os.Stat(filepath.Join(p.Dir, src)); err != nil || fi.ModTime().After(built) {\n+\t\t\t\t//println(\"STALE\", p.ImportPath, \"needs\", src, err)\n+\t\t\t\tp.Stale = true\n+\t\t\t\tbreak Stale\n+\t\t\t}\n+\t\t}\n+\t}\n \n+\timportPaths := p.Imports\n \t// Packages that use cgo import runtime/cgo implicitly,\n \t// except runtime/cgo itself.\n \tif len(info.CgoFiles) > 0 && (!p.Standard || p.ImportPath != \"runtime/cgo\") {\n-\t\tp.Imports = append(p.Imports, \"runtime/cgo\")\n-\t\tsort.Strings(p.Imports)\n+\t\timportPaths = append(importPaths, \"runtime/cgo\")\n+\t}\n+\t// Everything depends on runtime, except runtime and unsafe.\n+\tif !p.Standard || (p.ImportPath != \"runtime\" && p.ImportPath != \"unsafe\") {\n+\t\timportPaths = append(importPaths, \"runtime\")\n \t}\n \n \t// Record package under both import path and full directory name.\n@@ -161,7 +193,7 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string\n \t// Build list of imported packages and full dependency list.\n \timports := make([]*Package, 0, len(p.Imports))\n \tdeps := make(map[string]bool)\n-\tfor _, path := range p.Imports {\n+\tfor _, path := range importPaths {\n \t\tdeps[path] = true\n \t\tif path == \"C\" {\n \t\t\tcontinue\n@@ -175,10 +207,22 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string\n \t\t\treturn nil, fmt.Errorf(\"%s: import %s\\n\\t%v\", arg, path, err)\n \t\t}\n \t\timports = append(imports, p1)\n-\n \t\tfor _, dep := range p1.Deps {\n \t\t\tdeps[dep] = true\n \t\t}\n+\t\tif p1.Stale {\n+\t\t\tp.Stale = true\n+\t\t}\n+\t\t// p1.target can be empty only if p1 is not a real package,\n+\t\t// such as package unsafe or the temporary packages\n+\t\t// created during go test.\n+\t\tif !p.Stale && p1.target != \"\" {\n+\t\t\tif fi, err := os.Stat(p1.target); err != nil || fi.ModTime().After(built) {\n+\t\t\t\t//println(\"STALE\", p.ImportPath, \"needs\", p1.target, err)\n+\t\t\t\t//println(\"BUILT\", built.String(), \"VS\", fi.ModTime().String())\n+\t\t\t\tp.Stale = true\n+\t\t\t}\n+\t\t}\n \t}\n \tp.imports = imports\n \n@@ -188,6 +232,12 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string\n \t}\n \tsort.Strings(p.Deps)\n \n+\t// unsafe is a fake package and is never out-of-date.\n+\tif p.Standard && p.ImportPath == \"unsafe\" {\n+\t\tp.Stale = false\n+\t\tp.target = \"\"\n+\t}\n+\n \treturn p, nil\n }\n```
### `src/cmd/go/build.go` における並列ビルドの準備
```diff
--- a/src/cmd/go/build.go
+++ b/src/cmd/go/build.go
@@ -231,94 +282,116 @@ func (b *builder) action(mode buildMode, depMode buildMode, p *Package) *action
tb.actionCache[key] = a
- switch mode {
- case modeBuild, modeInstall:
- for _, p1 := range p.imports {
- a.deps = append(a.deps, b.action(depMode, depMode, p1))
- }
+ for _, p1 := range p.imports {
+ a.deps = append(a.deps, b.action(depMode, depMode, p1))
+ }
- if !needInstall(p) && !b.aflag && allNop(a.deps) {
- return a
- }
- if p.Standard {
- switch p.ImportPath {
- case "builtin", "unsafe":
- // Fake packages - nothing to build.
- return a
- }
+ if len(p.CgoFiles) > 0 {
+ p1, err := loadPackage("cmd/cgo")
+ if err != nil {
+ fatalf("load cmd/cgo: %v", err)
}
+ a.cgo = b.action(depMode, depMode, p1)
+ a.deps = append(a.deps, a.cgo)
+ }
- if mode == modeInstall {
- a.f = (*builder).install
- a.deps = []*action{b.action(modeBuild, depMode, p)}
+ if p.Standard {
+ switch p.ImportPath {
+ case "builtin", "unsafe":
+ // Fake packages - nothing to build.
return a
}
- a.f = (*builder).build
+ }
+
+ if !p.Stale && !b.aflag && p.target != "" {
+ // p.Stale==false implies that p.target is up-to-date.
+ // Record target name for use by actions depending on this one.
+ a.target = p.target
+ return a
+ }
+
+ a.objdir = filepath.Join(b.work, filepath.FromSlash(a.p.ImportPath+"/_obj")) + string(filepath.Separator)
+ a.objpkg = filepath.Join(b.work, filepath.FromSlash(a.p.ImportPath+".a"))
+ a.link = p.Name == "main"
+
+ switch mode {
+ case modeInstall:
+ a.f = (*builder).install
+ a.deps = []*action{b.action(modeBuild, depMode, p)}
+ a.target = a.p.target
+ case modeBuild:
+ a.f = (*builder).build
+ a.target = a.objpkg
+ if a.link {
+ // An executable file.
+ // Have to use something other than .a for the suffix.
+ // It is easier on Windows if we use .exe, so use .exe everywhere.
+ // (This is the name of a temporary file.)
+ a.target = a.objdir + "a.out" + b.exe
+ }
}
return a
}
-func allNop(actions []*action) bool {
- for _, a := range actions {
- if a.f != nil {
- return false
- }
- }
- return true
-}
-
-// do runs the action graph rooted at a.
-func (b *builder) do(a *action) {
- if a.done {
- return
- }
- for _, a1 := range a.deps {
- b.do(a1)
- if a1.failed {
- a.failed = true
- if !a.ignoreFail {
- a.done = true
- return
- }
- }
- }
- if a.f != nil {
- if err := a.f(b, a); err != nil {
+```
### `src/cmd/go/build.go` における `do` 関数の変更 (並列ビルドのスケジューリング)
```diff
--- a/src/cmd/go/build.go
+++ b/src/cmd/go/build.go
@@ -282,8 +355,38 @@ func (b *builder) do(a *action) {
}
a.failed = true
}\n+\n+\t\tfor _, a0 := range a.triggers {\n+\t\t\tif a.failed {\n+\t\t\t\ta0.failed = true\n+\t\t\t}\n+\t\t\tif a0.pending--; a0.pending == 0 {\n+\t\t\t\tb.ready.push(a0)\n+\t\t\t\tb.readySema <- true\n+\t\t\t}\n+\t\t}\n+\n+\t\tif a == root {\n+\t\t\tclose(b.readySema)\n+\t\t\tdone <- true\n+\t\t}\n+\t}\n+\n+\t// TODO: Turn this knob for parallelism.\n+\tfor i := 0; i < 1; i++ {\n+\t\tgo func() {\n+\t\t\tfor _ = range b.readySema {\n+\t\t\t\t// Receiving a value from b.sema entitles\n+\t\t\t\t// us to take from the ready queue.\n+\t\t\t\tb.exec.Lock()\n+\t\t\t\ta := b.ready.pop()\n+\t\t\t\tb.exec.Unlock()\n+\t\t\t\thandle(a)\n+\t\t\t}\n+\t\t}()\n \t}\n-\ta.done = true\n+\n+\t<-done\n }\n```
### `src/cmd/go/build.go` における `actionQueue` の追加
```diff
--- a/src/cmd/go/build.go
+++ b/src/cmd/go/build.go
@@ -872,3 +978,26 @@ func (b *builder) cgo(p *Package, obj string, gccfiles []string) (outGo, outObj
return outGo, outObj, nil
}
+
+// An actionQueue is a priority queue of actions.
+type actionQueue []*action
+
+// Implement heap.Interface
+func (q *actionQueue) Len() int { return len(*q) }\n+func (q *actionQueue) Swap(i, j int) { (*q)[i], (*q)[j] = (*q)[j], (*q)[i] }\n+func (q *actionQueue) Less(i, j int) bool { return (*q)[i].priority < (*q)[j].priority }\n+func (q *actionQueue) Push(x interface{}) { *q = append(*q, x.(*action)) }\n+func (q *actionQueue) Pop() interface{} {\n+\tn := len(*q) - 1\n+\tx := (*q)[n]\n+\t*q = (*q)[:n]\n+\treturn x\n+}\n+\n+func (q *actionQueue) push(a *action) {\n+\theap.Push(q, a)\n+}\n+\n+func (q *actionQueue) pop() *action {\n+\treturn heap.Pop(q).(*action)\n+}\n```
## コアとなるコードの解説
### `action` 構造体の変更 (`src/cmd/go/build.go`)
この変更は、Goのビルドシステムが内部的にどのようにビルドタスクを表現し、管理するかを根本的に再定義しています。以前は `done`, `failed`, `pkgobj`, `pkgbin` といったシンプルなフィールドしかありませんでしたが、新しい `action` 構造体は、より複雑なビルドロジックと並列実行をサポートするために、以下の重要なフィールドを追加しています。
- `p *Package`: このアクションがどのGoパッケージに関連しているかを明確にします。
- `deps []*action`: このアクションが実行される前に完了しなければならない他のアクション(依存関係)のリストです。これはビルドグラフの辺を表現します。
- `triggers []*action`: `deps` の逆で、このアクションが完了したときに「トリガー」される(つまり、依存関係が満たされる)他のアクションのリストです。これは並列実行のスケジューリングにおいて、依存関係が解決されたアクションを特定するために重要です。
- `cgo *action`: `cgo` を使用するパッケージの場合、`cgo` ツール自体のビルドを表現するアクションへの参照です。これにより、`cgo` ツールがGoのビルドシステムによって適切に管理されるようになります。
- `link bool`: このアクションの最終出力が実行可能ファイル(`main` パッケージの場合)であるかどうかを示します。これにより、パッケージアーカイブ(`.a`)と実行可能ファイル(`.exe` など)の区別が明確になります。
- `objdir string`: 中間オブジェクトファイルが格納される一時ディレクトリのパスです。
- `objpkg string`: このアクションによって生成されるパッケージアーカイブファイル(`.a`)のパスです。
- `target string`: このアクションの最終的な出力ファイルのパスです。実行可能ファイルの場合はそのパス、パッケージの場合はインストールされるアーカイブファイルのパスになります。
- `pending int`: このアクションが実行可能になるまでに完了する必要がある依存アクションの数です。これが0になると、アクションは実行可能になります。
- `priority int`: アクションの相対的な実行優先度です。深さ優先探索の順序で割り当てられ、テスト結果を早く表示するなどの目的で利用されます。
- `failed bool`: このアクションが失敗したかどうかを示すフラグです。
これらのフィールドの追加により、ビルドシステムは各アクションの状態、依存関係、および出力ファイルをより詳細に追跡できるようになり、より正確な依存関係解決と、将来的な並列ビルドの実現に向けた強固な基盤が提供されます。
### `Package` 構造体と依存関係計算の変更 (`src/cmd/go/pkg.go`)
`Package` 構造体への `Stale` フィールドの追加と、`scanPackage` 関数内のロジック変更は、Goのビルドシステムがパッケージの「古さ」を判断し、不要な再ビルドを避けるための重要な改善です。
- **`Stale` フィールド**: このフィールドは、`go install` コマンドがこのパッケージに対して何かを行う必要があるかどうかを示します。つまり、ソースファイルがビルド済みターゲットファイルよりも新しい場合、または依存するパッケージが `Stale` である場合に `true` になります。
- **`scanPackage` 内の `Stale` 計算ロジック**:
- まず、パッケージのGoファイル、Cファイル、Hファイル、Sファイル、Cgoファイルといった全てのソースファイルの最終更新時刻と、ビルド済みターゲットファイル(`p.target`)の最終更新時刻を比較します。もしソースファイルの方が新しい場合、そのパッケージは `Stale` とマークされます。
- 次に、パッケージがインポートする全ての依存パッケージ(`p1`)を再帰的にチェックします。もし依存パッケージのいずれかが `Stale` である場合、現在のパッケージも `Stale` とマークされます。これは、推移的な依存関係の変更を正確に反映するために不可欠です。例えば、AがBに依存し、BがCに依存している場合、Cが変更されればBもAも再ビルドが必要になる、という連鎖を正しく検出します。
- `unsafe` パッケージは、その性質上、常に最新であると見なされ、`Stale` にはなりません。
この変更により、Goのビルドシステムはよりインテリジェントに再ビルドの必要性を判断できるようになり、大規模なプロジェクトでのビルド時間の短縮に貢献します。
### 並列ビルドの準備 (`src/cmd/go/build.go` の `do` 関数と `actionQueue`)
このコミットの最も戦略的な変更の一つは、ビルドプロセスの並列化に向けた基盤の構築です。当時のGoのビルドはまだシリアルでしたが、この変更は将来の並列実行を可能にするための重要なステップでした。
- **`builder` 構造体への追加**:
- `exec sync.Mutex`: 共有されるビルド状態(例: `builder` のフィールド)へのアクセスを同期するためのミューテックスです。並列実行時にデータ競合を防ぎます。
- `readySema chan bool`: 準備ができたアクションがあることをワーカーゴルーチンに通知するためのチャネルです。
- `ready actionQueue`: 実行準備ができたアクションを格納する優先度キューです。
- **`actionQueue` 型の導入**:
- `container/heap` パッケージを利用して、`action` オブジェクトを優先度に基づいて管理するキューが実装されました。`heap.Interface` を実装することで、Goの標準ライブラリのヒープ機能を利用しています。
- `Less` メソッドは `priority` フィールドに基づいてアクションの順序を決定します。`priority` はアクショングラフの深さ優先探索の順序で割り当てられるため、より上位のアクション(依存関係の少ないアクション)が優先される傾向があります。
- **`do` 関数の再構築**:
- 以前の `do` 関数は再帰的に依存アクションをシリアルに実行していましたが、新しい `do` 関数はアクショングラフ全体を走査し、各アクションの `pending` 依存カウントを初期化します。
- `pending` が0になったアクションは `ready` キューに追加され、`readySema` を通じてワーカーゴルーチンに通知されます。
- `handle` 関数は、個々のアクションを実行し、その結果に基づいて依存するアクションの `pending` カウントを減らし、必要に応じて `ready` キューに追加します。
- `for i := 0; i < 1; i++ { go func() { ... } }` のループは、現在ワーカーゴルーチンを1つしか起動しないため、ビルドはまだシリアルです。しかし、この `1` を変更するだけで簡単に並列実行が可能になるように設計されています。
この設計により、Goのビルドシステムは、依存関係が解決されたアクションを効率的に特定し、複数のCPUコアで並列に実行できるようなスケーラブルなアーキテクチャへと進化しました。
## 関連リンク
- Go言語の公式ドキュメント: [https://go.dev/doc/](https://go.dev/doc/)
- Goコマンドのドキュメント: [https://go.dev/cmd/go/](https://go.dev/cmd/go/)
- Goのビルドシステムに関する議論 (当時のメーリングリストなど): 2011年当時のGoコミュニティのメーリングリスト (golang-nuts, golang-dev) やデザインドキュメントが参考になる可能性がありますが、特定のリンクはコミットメッセージには含まれていません。
## 参考にした情報源リンク
- Go言語のソースコード (特に `src/cmd/go` および `src/go/build` パッケージ): [https://github.com/golang/go](https://github.com/golang/go)
- Goのビルドシステムに関する一般的な知識
- データ構造とアルゴリズム(特にヒープと優先度キュー)に関する一般的な知識
- Goの `container/heap` パッケージのドキュメント: [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `os` および `path/filepath` パッケージのドキュメント (ファイル操作、パス操作): [https://pkg.go.dev/os](https://pkg.go.dev/os), [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sync` パッケージのドキュメント (並行処理): [https://pkg.go.dev/sync](https://pkg.go.dev/sync)
- Goの `build` パッケージのドキュメント (Goパッケージの構造とビルドコンテキスト): [https://pkg.go.dev/go/build](https://pkg.go.dev/go/build)
- Goの `exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `strings` および `bytes` パッケージのドキュメント (文字列操作、バイトスライス操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings), [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strconv` パッケージのドキュメント (文字列変換): [https://pkg.go.dev/strconv](https://pkg.go.dev/strconv)
- Goの `unicode` および `unicode/utf8`, `unicode/utf16` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode), [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8), [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `encoding/base64`, `encoding/gob`, `encoding/json` パッケージのドキュメント (エンコーディング): [https://pkg.go.dev/encoding/base64](https://pkg.go.dev/encoding/base64), [https://pkg.go.dev/encoding/gob](https://pkg.go.dev/encoding/gob), [https://pkg.go.dev/encoding/json](https://pkg.go.dev/encoding/json)
- Goの `go/ast`, `go/doc`, `go/parser`, `go/printer`, `go/scanner`, `go/token` パッケージのドキュメント (Goソースコードの解析と操作): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast), [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc), [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser), [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer), [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner), [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `text/tabwriter`, `text/template`, `text/template/parse` パッケージのドキュメント (テキスト処理): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter), [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template), [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `log`, `flag`, `bufio`, `net/url`, `io/ioutil` パッケージのドキュメント (ユーティリティ): [https://pkg.go.dev/log](https://pkg.go.dev/log), [https://pkg.go.dev/flag](https://pkg.go.dev/flag), [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio), [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url), [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `runtime` パッケージのドキュメント (Goランタイムとのインタフェース): [https://pkg.go.dev/runtime](https://pkg.go.dev/runtime)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/ioutil)
- Goの `os/exec` パッケージのドキュメント (外部コマンドの実行): [https://pkg.go.dev/os/exec](https://pkg.go.dev/os/exec)
- Goの `path` パッケージのドキュメント (パス操作): [https://pkg.go.dev/path](https://pkg.go.dev/path)
- Goの `reflect` パッケージのドキュメント (リフレクション): [https://pkg.go.dev/reflect](https://pkg.go.dev/reflect)
- Goの `syscall` パッケージのドキュメント (システムコール): [https://pkg.go.dev/syscall](https://pkg.go.dev/syscall)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `math` パッケージのドキュメント (数学関数): [https://pkg.go.dev/math](https://pkg.go.dev/math)
- Goの `sync/atomic` パッケージのドキュメント (アトミック操作): [https://pkg.go.dev/sync/atomic](https://pkg.go.dev/sync/atomic)
- Goの `container/heap` パッケージのドキュメント (ヒープ): [https://pkg.go.dev/container/heap](https://pkg.go.dev/container/heap)
- Goの `fmt` パッケージのドキュメント (フォーマットI/O): [https://pkg.go.dev/fmt](https://pkg.go.dev/fmt)
- Goの `errors` パッケージのドキュメント (エラー処理): [https://pkg.go.dev/errors](https://pkg.go.dev/errors)
- Goの `bytes` パッケージのドキュメント (バイトスライス操作): [https://pkg.go.dev/bytes](https://pkg.go.dev/bytes)
- Goの `io` パッケージのドキュメント (I/Oプリミティブ): [https://pkg.go.dev/io](https://pkg.go.dev/io)
- Goの `net/url` パッケージのドキュメント (URL解析): [https://pkg.go.dev/net/url](https://pkg.go.dev/net/url)
- Goの `path/filepath` パッケージのドキュメント (ファイルパス操作): [https://pkg.go.dev/path/filepath](https://pkg.go.dev/path/filepath)
- Goの `sort` パッケージのドキュメント (ソート): [https://pkg.go.dev/sort](https://pkg.go.dev/sort)
- Goの `strings` パッケージのドキュメント (文字列操作): [https://pkg.go.dev/strings](https://pkg.go.dev/strings)
- Goの `time` パッケージのドキュメント (時刻操作): [https://pkg.go.dev/time](https://pkg.go.dev/time)
- Goの `unicode` パッケージのドキュメント (Unicode処理): [https://pkg.go.dev/unicode](https://pkg.go.dev/unicode)
- Goの `unicode/utf8` パッケージのドキュメント (UTF-8エンコーディング): [https://pkg.go.dev/unicode/utf8](https://pkg.go.dev/unicode/utf8)
- Goの `unicode/utf16` パッケージのドキュメント (UTF-16エンコーディング): [https://pkg.go.dev/unicode/utf16](https://pkg.go.dev/unicode/utf16)
- Goの `os` パッケージのドキュメント (OS機能): [https://pkg.go.dev/os](https://pkg.go.dev/os)
- Goの `bufio` パッケージのドキュメント (バッファI/O): [https://pkg.go.dev/bufio](https://pkg.go.dev/bufio)
- Goの `flag` パッケージのドキュメント (コマンドラインフラグ): [https://pkg.go.dev/flag](https://pkg.go.dev/flag)
- Goの `log` パッケージのドキュメント (ロギング): [https://pkg.go.dev/log](https://pkg.go.dev/log)
- Goの `text/tabwriter` パッケージのドキュメント (タブ区切りテキストのフォーマット): [https://pkg.go.dev/text/tabwriter](https://pkg.go.dev/text/tabwriter)
- Goの `text/template` パッケージのドキュメント (テキストテンプレート): [https://pkg.go.dev/text/template](https://pkg.go.dev/text/template)
- Goの `text/template/parse` パッケージのドキュメント (テキストテンプレートの解析): [https://pkg.go.dev/text/template/parse](https://pkg.go.dev/text/template/parse)
- Goの `go/token` パッケージのドキュメント (Goソースコードのトークン): [https://pkg.go.dev/go/token](https://pkg.go.dev/go/token)
- Goの `go/scanner` パッケージのドキュメント (Goソースコードのスキャナー): [https://pkg.go.dev/go/scanner](https://pkg.go.dev/go/scanner)
- Goの `go/ast` パッケージのドキュメント (Goソースコードの抽象構文木): [https://pkg.go.dev/go/ast](https://pkg.go.dev/go/ast)
- Goの `go/printer` パッケージのドキュメント (Goソースコードのプリンター): [https://pkg.go.dev/go/printer](https://pkg.go.dev/go/printer)
- Goの `go/doc` パッケージのドキュメント (Goドキュメントの生成): [https://pkg.go.dev/go/doc](https://pkg.go.dev/go/doc)
- Goの `go/parser` パッケージのドキュメント (Goソースコードのパーサー): [https://pkg.go.dev/go/parser](https://pkg.go.dev/go/parser)
- Goの `regexp/syntax` パッケージのドキュメント (正規表現の構文解析): [https://pkg.go.dev/regexp/syntax](https://pkg.go.dev/regexp/syntax)
- Goの `regexp` パッケージのドキュメント (正規表現): [https://pkg.go.dev/regexp](https://pkg.go.dev/regexp)
- Goの `io/ioutil` パッケージのドキュメント (I/Oユーティリティ): [https://pkg.go.dev/io/ioutil](https://pkg.go.dev/io/