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


関連記事

rails

Ruby、Railsの時間に関するメソッドを使用してみた

はじめに 普段PHPのお仕事をしています、tonnyです。 半年程前からRuby on Railsの勉強を始めました。 今回はよく使う時間に関するメソッドついてまとめたいと思います。 目次 1 はじめ ...

rails

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

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

rails

Railsでの非同期処理とDelayed Job

1 はじめに2 Active Job2.1 Active Jobの役割2.2 ジョブを作成する2.3 ジョブをキューに登録する2.4 コールバック2.5 例外3 Delayed Job3.1 設定3. ...

Rust入門してみた (構造体 / トレイト)

1 はじめに2 構造体2.1 メソッド2.1.1 関連メソッド2.2 トレイト2.2.1 構造体のフィールドの1つとして、トレイトのインスタンスを持つ場合2.3 derive属性3 おすすめ書籍 はじ ...

Go言語

[Go初心者]テストについて学習

1 はじめに2 テスト2.1 エラーの値を比較する2.2 エラーの型を比較する3 httptest3.1 httptestの使い方4 さいごに5 おすすめ書籍 はじめに 今回はGo言語のテストについて ...

フォロー

blog-page_side_responsive

2022年8月
 123456
78910111213
14151617181920
21222324252627
28293031  

アプリ情報

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