> For the complete documentation index, see [llms.txt](https://dreamylost.gitbook.io/question4scala/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dreamylost.gitbook.io/question4scala/scala2/2.-he-wei-adts.md).

# 何为ADTs？

⭐️⭐️⭐️⭐️⭐️

首先解释ADTs本身：

1. abstract data types 抽象数据类型（非本问题重点）
2. algebraic data types 代数数据类型（不用详细描述）

哪些是ADTs：

1. product types: case class（Product、Tuple）、HList
2. coproduct types: Either、sealed trait
3. union types: scala3 A | B
4. intersection types: scala3 A & B
5. sum types: enum

答到2并知道Product特质，及格

答完满分
