Go 1.18 中的泛型心难点 是保证不会出现罗素悖论.例如不加以限制的 分类公理是朴素集合论中的导致矛盾的根源. 类型集可以从 ZF 系统来考虑: 外延公理:两个类型集相等,当且仅当他们包含的类型相同 分类公理:给出一个类型集和一个普通接口,存在同 时满足他们的子集 并集公理:两个类型集可以求并集 空集公理:存在一个不 满足任何类型的类型集 无穷公理:存在一个包含无 穷多个类型的类型集 等等... type 7 41 更加高层的泛型机制同样不存在 42 特化 元编程 柯里化 非类型类型参数 运算符方法 ... 结论 43 类型参数更广泛的支持了基于接口的参数化多态 类型集使用了公理化集合论(更特别一点类型论)的方法扩展了接口的定义实现了类型约束 类型推导和类型合一简化了泛型的使用 但是 Go 目前的泛型(1.18,但很可能在 1.20 之前都)还比较基础且限制较多(也不排除永远不会解除这些限制)0 码力 | 45 页 | 501.50 KB | 1 年前3
共 1 条
- 1













