Goのジェネリクス〜ジェネリック型

こんにちは。霞を食べて生活しているまるりんです。

Tour of Goの英語版にジェネリクスの章が追加されていたので紹介します。

Generic types
https://go.dev/tour/generics/2

anyはboolやintと同じプリミティブ型の一種で任意の型を取れます。 この型はcomparableとは違い==!=の演算子は使えません。

演習として線形リストにいくつかの機能を追加せよとあるのでやってみました。 実装した機能は以下です。

  • リストの初期化
  • リストへ追加
  • リストから削除
  • リストを表示

解答
https://go.dev/play/p/gPV-9Uiwbwi

リストの先頭要素に無意味な値を保持していますがとりあえずこれで良しとします。