JSRUN 用代码说话

泛型

编辑教程

泛型

泛型允许延迟类或方法中的编程元素的数据类型的规范,直到它在程序中实际使用。 换句话说,泛型允许你编写一个可以处理任何数据类型的类或方法。

您可以使用数据类型的替代参数来编写类或方法的规范。 当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理特定的数据类型。

在F#中,函数值,方法,属性和聚合类型(如类,记录和区别联合)可以是通用的。

通用结构包含至少一个类型参数。 通用函数和类型使您能够编写适用于各种类型的代码,而无需重复每种类型的代码。

语法

编写通用构造的语法如下

// Explicitly generic function.
let function-name<type-parameters> parameter-list =
   function-body

// Explicitly generic method.
[ static ] member object-identifer.method-name<type-parameters> 
parameter-list [ return-type ] =
   method-body

// Explicitly generic class, record, interface, structure,
// or discriminated union.
type type-name<type-parameters> type-definition

例子

(* Generic Function *)
let printFunc (x: 'a) =
   do printfn "%A" x

let gr = new genericClass<string>("zara")
let gs = genericClass( seq { for i in 1 .. 10 -> (i, i*i) } )

当你编译和执行程序,它产生以下输出

"zara"
seq [(1, 1); (2, 4); (3, 9); (4, 16); ...]
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟