ように参照型を通して扱うことになるが、これらの参照型をスライス型と呼ぶ[3]。低レベルで表現されるとき単なるポインタではなく、ポインタと長さの組である[4]。サイズ不定であるゆえ、通常の型とは扱いが異なる。[5])参照でない生の値として扱えないなどの制限がある。定義やメソッド定義、トレイト実装等に注意や工夫が必要であるため、本記事ではそれらを紹介する。本質的に大した差ではないが、お気持ちのうえで、また実装や設計のうえで独自スライス型は2種類に分類できる。ひとつは、情報の欠落なしに元となる型と相互に変換できる、追加の制約なしの型。ひとつは、相互の変換で情報の欠落があったり、変換の失敗がありえるような、追加の制約付きの型である。バイト列として妥当なもの」という追加の制約付きの型である。変換可能であるが、逆は失敗する可能性がある。通して失敗と欠落なしに相互に変換できる。変換する際に追加の制約を与えられることはない。