BackEnd

Go 1.19でGoDocに追加された機能

投稿日:

はじめに

8月2日にGo 1.19がリリースされました。Go 1.18ではGenericsを始め、大きな変更点がありましたが、Go 1.19では細かな変更が多くなっています。

今回はGo 1.19の内容で気になったGoDocの機能追加について紹介します。

Go 1.19のリリースノートはこちらです。

GoDocの機能追加

Go1.18までのGoDocは、段落やURLをリンクにするなど、非常にシンプルな機能しかありませんでした。

Go1.19では主に、

  • セクションタイトル
  • リンク
  • リスト

などが追加され、よりリッチな表現ができるようになりました。

それでは実際にこれらを使ってドキュメントを書いてみます。

セクションタイトル(Headings)

セクションタイトルを使うと、文字サイズが大きくなり、アンカーリンクを設置することができます。

セクションタイトルの書き方は、 #記号+半角スペース+テキスト となっています。また、セクションタイトルは連続して書くことができません。

ブラウザで表示すると以下のようになります。

セクションタイトル

リンク

リンクを修飾することができるようになりました。書式は以下の通りです。

[リンク名]: アドレス

ここで定義した [リンク名] をドキュメント内に埋め込むことで、リンクを含めることができます。

また、 [パッケージ名] とすることで、ドキュメント内の別パッケージなどにリンクすることもできます。

ブラウザで表示すると以下のようになります。

godoc link

リスト

リストでは番号なしのリストと番号つきのリストを表現できます。

番号なしのリストの記述は、 -+半角スペース+テキスト です。同様に、番号付きのリストの記述は、 数字+.+半角スペース+テキスト です。

ただし、以下の制約があります。

  • 各リストの先頭に半角スペースを2ついれる
  • リスト中にはインデントを入れられない
  • 番号なしリストと番号つきリストを同じリストのまとまりに入れられない

ブラウザで表示すると以下のようになります。

godoc list

パッケージの追加

また、 go/doc/comment という新しいパッケージが追加されました。このパッケージはコメントの解析と再フォーマット、そして HTML、Markdown、テキストへのレンダリングのサポートを提供します。

おまけ

自作したパッケージをGoDocで表示するには、 $GOROOT/src ディレクトリに含める必要があります。しかし、パッケージのコードがこのディレクトリにあると不便なので、下記のようにシンボリックリンクを作成して対応しました。

さいごに

Go 1.19でのGoDocの変更点について紹介しました。

おすすめ書籍

実用 Go言語 ―システム開発の現場で知っておきたいアドバイス エキスパートたちのGo言語 一流のコードから応用力を学ぶ Software Design plus 詳解Go言語Webアプリケーション開発

blog-page_footer_336




blog-page_footer_336




-BackEnd
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

laravel logo

[Laravel] ログの扱い方 [5.8]

1 はじめに2 環境3 Monologについて4 コード上で設定する方法5 config/logging.phpで設定する方法6 おまけ:ログレベルについて7 さいごに8 おすすめ書籍 はじめに こん ...

rails

私たちのFactoryGirlとRspecの使用ルール その1

1 はじめに2 そもそもなぜ基本ルールなどを作成しようとしたのか?3 Rspec編3.1 describe、context、itの階層で使用する3.2 10個以上のテストレコードを作成したい場合は、ト ...

Go言語

[Go初心者]Interfaceについて学習

1 はじめに2 interfaceとは3 interfaceのメリット3.1 インターフェースを使うとコードの共通化ができる3.2 インターフェースを使うと実装を隠蔽することができる3.3 インターフ ...

Go言語

Go 1.18のWorkspacesモードでマルチモジュール化

1 はじめに2 マルチモジュール構成2.1 非Workspacesモードの場合2.2 Workspacesモードの場合3 go workコマンド3.1 init3.2 edit3.3 sync3.4 ...

rails

RailsでS3に画像をアップロードする

1 はじめに2 今回やりたいこと3 下準備3.1 ImageMagickをインストールする3.2 Gemをインストールする4 レコード生成時にファイルを指定してアップロードする4.1 アップローダを作 ...

フォロー

blog-page_side_responsive

2022年8月
 123456
78910111213
14151617181920
21222324252627
28293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。