TypeScript 类型系统TypeScript 类型系统 2 0 2 1 年 1 月 2 1 日 分 享 人 陈 文 岗 : 学 校 中国科学院大学 : 关于TypeScript 2 TypeScript是微软推出的JavaScript静态类型版本,它是 JavaScript的超集,可以编译为纯粹的JavaScript TypeScript 到 JavaScript 3 add.ts add.js add ts TypeScript 基础类型 4 TypeScript 高级类型 5 TypeScript 高级类型 6 TypeScript 高级类型 7 TypeScript 高级类型 8 TypeScript 特殊类型 9 TypeScript 结构类型系统 10 标明类型系统 即使两个类的结构完全一致,也不能互相赋值 结构类型系统 类型形状一致即可互相赋值 TypeScript TypeScript 类型声明空间 11 类型声明空间里包含用来当做类型注解的内容 类型不能赋给一个变量,也不能作为值进行传递(class除外) TypeScript 变量声明空间(值空间) 12 变量声明空间包含可用作变量的内容 class既属于类型声明空间,也属于变量声明空间 普通的变量/常量不能用作类型注解 TypeScript 函数重载 13 1. TypeScript类型信息只存在于编译期,不会带到运行期0 码力 | 25 页 | 1.27 MB | 1 年前3
5 刘知杭 静态类型的Python静态类型的Python Lyzh(刘知杭) 目录 CONTENTS 有关类型的概念 使用mypy对Python源 代码进行静态分析 代数数据类型 拓展知识 关于类型的一些基本概念 有类型不等于有类型系统 动态语言类型化的必要性 不久前的一个案例 正文 类型的概念 CPython定义了PyObject这个 结构体作为对象头。 CPython中的类型,是指在对 象头中指向类型元信息的指针。 象头中指向类型元信息的指针。 CPython有类型,但CPython没有类型系统。这就是CsPython中诸多问题的由来。 类型系统是什么? 类型系统(type system)的基本目标是防止程序在运行时发生类型错误。当且仅当语言运行时 不存在任何形式的类型错误,那么它就是sound的。soundness是类型系统研究的重要目标。 类型系统(type system)是一种编译期(Compile-time)的类型推导检查规则。 ime)的类型推导检查规则。 类型系统就是一种轻量级的形式化方法,它通常被植入编译器或程序分析器中进行自动校验。 从而让那些不熟悉底层理论的程序员也可以使用它们。 这类轻量级技术中还包括模型检测(Model checking),运行时验证(Runtime verification)和类型系统(Type system)等等。其中类型系统最流行,发展最完善。 在计算机科学中,形式化方法(Formal0 码力 | 42 页 | 6.87 MB | 1 年前3
基本数据类型基本数据类型 主讲人:龙良曲 All is about Tensor python PyTorch Int IntTensor of size() float FloatTensor of size() Int array IntTensor of size [d1, d2 ,…] Float array FloatTensor of size [d1, d2, …] string0 码力 | 16 页 | 1.09 MB | 1 年前3
MoonBit月兔编程语言 现代编程思想 第四课 多元组, 结构体,枚举类型现代编程思想 多元组,结构体与枚举类型 Hongbo Zhang 1 基础数据类型:多元组与结构体 2 回顾:多元组 多元组:固定⻓度的不同类型数据的集合 定义: (<表达式>, <表达式>, ...) 类型: (<表达式类型>, <表达式类型>, ...) 例如: 身份信息: ("Bob", 2023, 10, 24): (String, Int, Int, Int) 成员访问: (2023, 10, 24).0 == 2023 列表:任意⻓度的相同类型数据的集合 例如: 字符的序列: Cons('H', Cons('i', Cons('!', Nil))) Cons : construct 的缩写 3 笛卡尔积 ⼀个多元组类型的元素即是每个组成类型的元素构成的有序元素组 集合的笛卡尔积,⼜称积类型 例:扑克牌的所有花⾊:{ } 4 结构体 元组的问题在于,难以理解其所代表的数据 address: String; postal: Int } 通过名称,我们能明确数据的信息以及对应字段的含义 5 结构体的定义 结构体的定义形如 struct <结构体名称> { <字段名>: <类型> ; ... } struct PersonalInfo { name: String; age: Int} 定义结构体的值时,形如 { <字段名>: <值> , ... } let info:0 码力 | 26 页 | 435.86 KB | 1 年前3
C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型从稀疏数据结构到量化数据类型 by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course 本课涵盖:稀疏矩阵、 unordered_map 、空间稀 疏网格、位运算、浮点的二进制格式、内存带宽优 化 面向人群:图形学、 >> 3 。 >> 2 = 位运算 >> 对负数的处理 signed 类型的 >> n 会把最高位复制 n 次。 因为补码的特性,这导致负数 >> 的结果仍是负 数。 这样就实现了和 Python 一样的始终向下取整除 法。 >> 2 = unsigned 类型的位运算 >> 不一样 而 unsigned 类型的 >> n 会不会复制最高位, 只是单纯的位移,这会导致负数的符号位单独被位 只是单纯的位移,这会导致负数的符号位单独被位 移,补码失效,造成结果不对。 unsigned 类型的 >> 会生成 shr 指令, signed 类型的 >> 会生成 sar 指令。 我们需要负方向无限延伸的稀疏数据结果,那就只 要 signed 那个就行。 >> 2 = 没有重合时可以用高效的加法:位运算 | • 如果可以保证 a 和 b 满足 a & b = 0 , 如: • 1011000 和 00001100 码力 | 102 页 | 9.50 MB | 1 年前3
MoonBit月兔编程语言 现代编程思想 第五课 数据类型:树、二叉树、二叉搜索树、AVL树B-Tree:适合顺序访问,利于硬盘存储数据 R-Tree:存储空间⼏何结构 …… 8 数据结构:⼆叉树 ⼆叉树要么是⼀棵空树,要么是⼀个节点;它最多具有两个⼦树:左⼦树与右⼦树 叶节点的两个⼦树都是空树 基于递归枚举类型的定义(本节课默认存储数据为整数) 1. enum IntTree { 2. Node(Int, IntTree, IntTree) // 存储的数据,左⼦树,右⼦树 3. Empty 40 码力 | 29 页 | 1015.26 KB | 1 年前3
CloudExplorer 3.0 管理员手册v1.2...................................................................................... 17 2.3.2 登录页面................................................................................................... ........................................................................................ 25 2.3.6 页面 Logo 主题设置........................................................................................25 ...................... 242 9.3.2 了解当年已费用支出以及当年各月份费用支出增长变化......................... 242 9.3.3 配置概览页面显示内容................................................................................. 243 9.3.4 查看各个云账号当月及历史月份费用支出情况0 码力 | 308 页 | 0 Bytes | 1 年前3
[试读]15天学会JavaScript - 第 2 章
ECMAScript语法基础 ECMAScript 变量是弱类型的 在学习高级编程语言的过程中,最先接触的,也是最重要的概念应该就是变量了。所谓“变 量”,一般意义上理解就是程序中用于存储数据信息的容器,或者也可以理解为用于替代数据 信息的符号。 ECMAScript 规范中定义的变量既可以存储数据信息,也可以定义为替代表达式的符号。 一般都是通过“var”关键字来定义变量,且定义的均是无特定类型的变量(也称为弱类型)。 因此,ECMAScript 因此,ECMAScript 变量可以初始化为任意类型的值,且可以随时改变变量的数据类型。当然, 我们不建议随意改变变量的数据类型,建议初始化成什么类型就一直沿用该类型,避免不必要 的麻烦。 2.2.2 变量的声明 ECMAScript 规范中规定通过“var”(单词 variable 的缩写)关键字来定义声明的变量, 当然也可以不使用“var”关键字。一般使用“var”关键字定义的是局部变量,而不使用“var” 关于【代码 2-1】的分析如下: 第 02~03 行代码通过“var”关键字分别定义了两个变量(i 和 j),并进行了初始化赋值 操作。注意,这里赋的值均是整数类型,因为 ECMAScript 变量弱类型的特点,所以解释程序 会自动为变量创建整数值; 第 04 行代码通过“var”关键字定义了一个变量表达式(var s = i + j;),而表达式中的变 量“i”和“j”正是第0 码力 | 52 页 | 3.83 MB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东. . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 数据类型转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 7.5 枚举类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 iv 7.5.1 枚举类型的概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 7.5.2 遍历枚举类型常量值 . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7.5.3 组合使用枚举类型与 switch . . . . . . . . . . . . . . . . . . . . . . 81 7.6 课后习题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820 码力 | 330 页 | 6.54 MB | 1 年前3
亿图图示 V10 用户手册 综合型专业绘图软件........... 91 第六章:页面和文件 ................................................................................................................................................ 93 页面设置................... 各 种图形图表。 专业的图形图表绘制软件 兼容 Windows/Mac/Linux/网页浏览器 实例库参考和自动模板更新 亿图图示可以帮助人们更轻松、可靠地创建多种类型 的风格图表,提供给您更直观的表达方式,深得学 生、老师和商业人士的信赖。它是一款集多种功能于 一体的绘图软件,让初学者可以轻松地绘制专业的流 程图、网络图、组织结构图、市场分析、建筑计划 图、思维导图、时装设计、UML 为什么选择亿图 综合型的绘图软件:亿图图示可以随时随地为用户提供帮助。 海量的矢量图形符号:帮助快速制作流程图、组织结构图、网络图等。 便捷的拖放功能:只需从符号库里拖拽图形至绘图页面,就可以做出漂亮的图形。 丰富的内置主题:可通过主题、效果和样式,快速创建出专业的图表,并提升图表的美观度。 多样化的绘图工具:软件中的一些高级工具,如自动对齐和排列图形等,让绘图更加有效率。0 码力 | 162 页 | 5.86 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













