Java、C# 和 TypeScript (即 Sun/Hejlsberg 语言家族)使用 T
、U
、V
等来表示泛型类型参数。这是因为 T
代表 "Type",而 U
和 V
则在字母表中跟随 T
。
另一方面,Scala 使用 A
、B
、C
等,而 OCaml 和 Haskell 使用 a
、b
和 c
。
这些约定从哪里来?是因为函数式编程语言更接近于数学证明,其中惯例使用 α
、β
和 γ
吗?
类似但并未回答我的问题:C# 泛型命名约定的起源是什么?.
T
成为模板的简写(源自C ++)。然而在这里无法回答这个问题,这就是为什么我投票关闭它的原因。 - MakePeaceGreatAgainT
代表 类型,而U
、V
则是英文字母表中的下一个字母(当我们需要多个通用类型时)。 - Dmitry Bychenko<K,V>
表示键和值。我想这取决于语义。 - sjahan