Go 1.18 中的泛型
Go 1.18 中的泛型 欧长坤 changkun.de/s/generics118 2022/03/30 1 语法和使用 2 什么时候需要泛型? 3 当使用接口作为函数的形参类型时,函数调用方传递的实际参数可以是完全不同的 类型: type T interface { Add(T) T } func Sum(elems ...T) (sum T) { // T 可以是任何实现 (sum S) { // S 的底层类型必须底层类型为 int 约束的类型 for i := range elems { sum += elems[i] } return } 使用泛型的根本目的是: 类型安全的参数传递,以及对实现的类型进行抽象 具有类型参数 (Type Parameter) 的签名 4 func F[T C](v T) (T, error) 普通参数列表 interface contains type constraints func bar(T Ib[int]) {} // OK 为什么第二个 bar 不会报错? 13 抽象能力 泛型没有任何运行时的机制,所以关于泛型的组件只发生在编译时期 对于下面的接口而言,无法作为普通参数使用: func Foo[T any]() {} x := Foo // ERROR: cannot use0 码力 | 45 页 | 501.50 KB | 1 年前3JAVA 应用与开发 - 泛型
应用与开发 泛 型 让我们愉快的 Coding 起来吧... ��� �������������� October 5, 2018 ���� 理��型的��,������� ▶ �合���的�型 ▶ �型的����� ������型类��型�法 ▶ 理�类型参数 ▶ 理�����������的�型类��型�法 ▶ 受��的类型参数 ��处理�型类型,����������型�器����作 作 1 19 �� 1 �型�� 2 �型类��型�法 3 处理�型类型 2 19 �型�� ���泛型 �型�Generics� �型��� JDK 5.0 ����,��������������� 型���� 作为��� Java 类型体�的��,���型���� Java ��� �的类型������������ 3 19 ���泛型 O 集合框架中的数据造型问题 � ��合�取�的元素��������型�为���的类型� 无泛型机制的集合容器 1 Vector v = new Vector(); 2 v.addElement(new Person("Tom", 18)); 3 Person p = (Person) v.elementAt(0); 4 p.showInfo(); 4 19 ���泛型 O 集合框架中的数据造型问题 ��0 码力 | 35 页 | 587.40 KB | 1 年前3MoonBit月兔编程语言 现代编程思想 第六课 泛型与高阶函数
现代编程思想 泛型与⾼阶函数 Hongbo Zhang 1 设计良好的抽象 软件⼯程中,我们要设计良好的抽象 当代码多次重复出现 当抽出的逻辑具有合适的语义 编程语⾔为我们提供了各种抽象的⼿段 函数、泛型、⾼阶函数、接⼝…… 2 泛型函数与泛型数据 3 堆栈 栈是⼀个由⼀系列对象组成的⼀个集合,这些对象的插⼊和删除遵循后进先出原则 (Last In First Out) 11. } 12. } 我们希望存储很多很多类型在堆栈中 每个类型都要定义⼀个对应的堆栈吗? IntStack 和 StringStack 似乎结构⼀模⼀样? 7 泛型数据结构与泛型函数 泛型数据结构与泛型函数以类型为参数,构建更抽象的结构 1. enum Stack[T] { 2. Empty 3. NonEmpty(T, Stack[T]) 4. } 5. fn Stack::empty[T]() (Some(top), rest) 11. } 12. } 将 T 替换为 Int 或 String 即相当于 IntStack 与 StringStack 8 泛型数据结构与泛型函数 我们⽤ [<类型1>, <类型2>, ...] 来定义泛型的类型参数 enum Stack[T]{ Empty; NonEmpty(T, Stack[T]) } struct Pair[A, B]{ first:0 码力 | 27 页 | 2.56 MB | 1 年前3TiDB 开源分布式关系型数据库
而TipDB TiDB 开源分布式关系型数据库 TiDB PRODUCT PORTFOLIO & VERITICAL CASE STUDY 外网全钼 外和折马外 COeG6 平凯星辰 (北京) 科技有限公司 目录 Contents 第一章 关于 PingCAP 1L1 PingCAP简介 05 12 创新成果 05 1.3 发展历程 06 1.4 技术标准起草 07 15荣誉1 07 07 16 代表用户 08 第二章 TiDB 开源分布式关系型数据库 2.1 产品简介。 2.2 TiDB架构图.ee 10 23 核必特性 11 2.4 TiFlash 高性能列式分析引擎 12 25 TiDB企业 12 2.6 TiDB 社区版与企业版差异 13 第三章 TiDB 生态工具 3.1 数据迁移 . 16 5 品、解 决方案与咨询、技术支持与培训认证服务,致力于为全球行业用户提供稳定高效、安全可告、开放兼容 的新型数据基础设施,解放企业生产力,加速企业数字化转型升级。 由PingCAP 创立的分布式关系型数据库 TiDB,为企业关键业务打造,具备 分布式强一致性事务、在 线弹性水平扩展、故障自恢复的高可用、跨数据中心多活」 等企业级核心特性,帮助企业最大化发挥数 据价值,充分释放企业增长空间。 目前,PingCAP0 码力 | 58 页 | 9.51 MB | 1 年前3亿图图示 V10 用户手册 综合型专业绘图软件
亿图图示 V10 用户手册 综合型专业绘图软件 ©2004 - 2020 EdrawSoft All right reserved. Edraw and Edraw logo are registered trademarks of EdrawSoft. Edraw Max http://www.edrawsoft.cn Page 1 of 162 .................. 159 Edraw Max http://www.edrawsoft.cn Page 4 of 162 亿图图示——综合型专业绘图软件! 拥有丰富的内置图形模板库和超过 10000 个矢量 符号,使用亿图图示绘图将变得再简单不过!亿 图图示为用户提供大量的模板、形状和绘图工 具,以便用更直观和可视化的办公风格来创建各 Edraw Max http://www.edrawsoft.cn Page 5 of 162 亿图图示更新功能 支持将所创作的图形存储到云端。 为什么选择亿图 综合型的绘图软件:亿图图示可以随时随地为用户提供帮助。 海量的矢量图形符号:帮助快速制作流程图、组织结构图、网络图等。 便捷的拖放功能:只需从符号库里拖拽图形至绘图页面,就可以做出漂亮的图形。0 码力 | 162 页 | 5.86 MB | 1 年前3亿图图示 V12 用户手册 综合型专业绘图软件
亿图图示 V12 用户手册 综合型专业绘图软件 ©2004 - 2022 EdrawSoft All right reserved. Edraw and Edraw logo are registered trademarks of EdrawSoft. Edraw Max http://www.edrawsoft.cn Page 1 of 180 ..................... 176 Edraw Max http://www.edrawsoft.cn Page 4 of 180 亿图图示——综合型专业绘图软件 亿图图示为用户提供大量的模板、形状和绘图工 具,以便用更直观和可视化的办公风格来创建各 种图形图表。软件拥有丰富的内置图形模板库和 超过 26000 个矢量符号,让专业绘图将变得更加 Page 5 of 180 亿图图示更新功能 • 新增浮动工具栏 • 新增导入 CAD(支持 dwg 和 dxf 格式,2000-2013 版本) 为什么选择亿图图示 • 综合型绘图软件:亿图图示可以帮助快速制作流程图、组织结构图、思维导图、网络图、工程 图等专业图形图表。 • 便捷的拖放功能:只需从符号库里拖拽图形至绘图页面,就可以做出漂亮的图形。 • 丰富的内置0 码力 | 180 页 | 5.99 MB | 1 年前3Nim 2.0.2 中文手册
变量本质上是地址的名称,每个变量和地址都有特定 的 type "类型",变量的类型被称为 static type "静态类型", 地址的类型被称为 dynamic type "动态类型"。如果静态类型与动态类 型不相同,它就是动态类型的⽗类或⼦类。 identi�er "标识符"是变量、类型、过程等的名称声明符号,⼀个声明所适⽤的程序区域被称为该声明的 scope "作⽤域", 作⽤域 可以嵌套,⼀个标识符 Token 标记( - 1 ): 以撇号 ( \' ) 开始的后缀被称为 type suf�x "类型后缀"。没有类型后缀的字⾯值是整数类型,当包含⼀个点或 E|e 时是 float 类 型。如果字⾯值的范围在 low(int32)..high(int32) 之间,那么这个整数类型就是 int ,否则就是 int64 。为了记数⽅便,如 果类型后缀明确,那么后缀的撇号是可选的(只有 了⼀个标识符, ⽤来表示这个⾃定义类型。 这些是主要的类型分类: 序数类型(包括整数、布尔、字符、枚举、枚举⼦范围) 浮点类型 字符串类型 结构化类型 引⽤(指针)类型 过程类型 泛型类型 序数类型 序数类型有以下特征: 序数类型是可数的和有序的。因⽽允许使⽤如 inc , ord , dec 等函数,来操作已定义的序数类型。 序数类型具有最⼩可使⽤值,可以通过 low(type)0 码力 | 127 页 | 7.05 MB | 1 年前3《Java 应用与开发》课程讲义 - 王晓东
82 8 泛型 83 8.1 泛型概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.1.1 泛型的概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.1.2 集合框架中的泛型 . . . . . . . 85 8.2 泛型类与泛型方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 8.2.1 定义泛型类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 8.2.2 定义泛型方法 . . . . . . . . . . . . 88 8.3 处理泛型类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.3.1 遍历泛型 Vector 集合 . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.3.2 泛型类型的处理方法 . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3Rust 程序设计语言简体中文版
......................... 199 10. 泛型、Trait 和生命周期 .................................................................................................... 204 10.1. 泛型数据类型 ............................... 用程序接口)。第 8 章讨论标准库提供的常见集合数据结构,例如 Vector(向量)、字符串和 Hash Map(散列表)。第 9 章探索 Rust 的错误处理的理念与技术。 第 10 章深入介绍泛型(generic)、Trait 和生命周期(lifetime),这些功能让你能够定义适用 于多种类型的代码。第 11 章全面讲述了测试,,因为就算 Rust 有安全保证,也需要测试确保 程序逻辑正确。第 指的是包含输 入的字符串类型 guess 变量。String 实例的 trim 方法会去除字符串开头和结尾的空白字 符,我们必须执行此方法才能将字符串与 u32 比较,因为 u32 只能包含数值型数据。用户必 35/600 Rust 程序设计语言 简体中文版 须输入 enter 键才能让 read_line 返回并输入他们的猜想,这将会在字符串中增加一个换行 (newline)符。例如,用户输入0 码力 | 600 页 | 12.99 MB | 1 年前3TypeScript 4.0 使用手册
Knockout.js React与webpack React Angular 2 从JavaScript迁移到TypeScript 手册 基础类型 变量声明 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators Knockout.js React与webpack React Angular 2 从JavaScript迁移到TypeScript 手册 基础类型 变量声明 接口 类 函数 字面量类型 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators Knockout.js React与webpack React Angular 2 从JavaScript迁移到TypeScript 手册 基础类型 变量声明 接口 类 函数 泛型 枚举 介绍 目录 Introduction - 12 - 本文档使用 书栈网 · BookStack.CN 构建 类型推论 类型兼容性 高级类型 Symbols Iterators0 码力 | 683 页 | 6.27 MB | 1 年前3
共 793 条
- 1
- 2
- 3
- 4
- 5
- 6
- 80