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
MoonBit月兔编程语言 现代编程思想 第五课 数据类型:树、二叉树、二叉搜索树、AVL树B-Tree:适合顺序访问,利于硬盘存储数据 R-Tree:存储空间⼏何结构 …… 8 数据结构:⼆叉树 ⼆叉树要么是⼀棵空树,要么是⼀个节点;它最多具有两个⼦树:左⼦树与右⼦树 叶节点的两个⼦树都是空树 基于递归枚举类型的定义(本节课默认存储数据为整数) 1. enum IntTree { 2. Node(Int, IntTree, IntTree) // 存储的数据,左⼦树,右⼦树 3. Empty 40 码力 | 29 页 | 1015.26 KB | 1 年前3
Mybatis 3.3.0 中文用户指南的用户来说也比较熟悉,不过现在有了一种更直白的方式。使用对于给定 语句能够合理描述参数和返回值的接口(比如说BlogMapper.class),你现在不但可以执行更清晰和类型安全的代码,而且还不用担 心易错的字符串字面值以及强制类型转换。 例如: SqlSession session = sqlSessionFactory.openSession(); try { BlogMapper mapper 对于这个简单的例子来说似乎有点小题大做了,但实际上它是非常轻量级的。在一个 XML 映射文件中,你想定义多少个映射语句都是 可以的,这样下来,XML 头部和文档类型声明占去的部分就显得微不足道了。文件的剩余部分具有很好的自解释性。在命名空 间“com.mybatis.example.BlogMapper”中定义了一个名为“selectBlog”的映射语句,这样它就允许你使用指定的完全限定 你可能注意到这和使用完全限定名调用 Java 对象的方法是相似的,之所以这样做是有原因的。这个命名可以直接映射到在命名空间中 同名的 Mapper 类,并在已映射的 select 语句中的名字、参数和返回类型匹配成方法。这样你就可以向上面那样很容易地调用这个对 应 Mapper 接口的方法。不过让我们再看一遍下面的例子: BlogMapper mapper = session.getMapper(BlogMapper0 码力 | 98 页 | 2.03 MB | 1 年前3
Mybatis 框架课程第二天 细节: resultType 属性: 用于指定结果集的类型。 parameterType 属性: 传智播客——专注于 Java、.Net 和 Php、网页平面设计工程师的培训 北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090 用于指定传入参数的类型。 sql 语句中使用#{}字符: 它代表占位符,相当于原来 它代表占位符,相当于原来 jdbc 部分所学的?,都是用于执行语句时替换实际的数据。 具体的数据是由#{}里面的内容决定的。 #{}中内容的写法: 由于数据类型是基本类型,所以此处可以随意写。 2.1.3 在测试类添加测试 /** * *Title: MybastisCRUDTest
*Description: 测试 mybatis values(#{username},#{birthday},#{sex},#{address}) 细节: parameterType 属性: 代表参数的类型,因为我们要传入的是一个类的对象,所以类型就写类的全名称。 sql 语句中使用#{}字符: 它代表占位符,相当于原来 jdbc 部分所学的?,都是用于执行语句时替换实际的数据。 具体的数据是由#{}里面的内容决定的。
0 码力 | 27 页 | 1.21 MB | 1 年前3
KiCad 5.1 原理图编辑器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 12.8.4 引脚电气类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 13.3 符号别名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 启用/禁用库。暂时减少加载的库集很有用。 昵称 昵称是用于将符号分配给元件的简短唯一标识符。符号由’: ’ 字符串表示。 库路径 路径指向库位置。 插件类型 确定库文件格式。 选项 存储库特定选项(如果插件使用)。 说明 简要描述库内容。 3.2.2 常规选项 3.2.2.1 显示 网格尺寸 网格大小选择。 建议使用普通网格(0.050 英寸或 0 码力 | 162 页 | 3.04 MB | 1 年前3
CentOS 7 操作命令-基础篇1.2(shell 脚本等) *内部命令就是命令行提供者(shell)自带的,是 shell 这个程序提供给用户的一些功能。 命令行里输入 type 加上目标命令,就可以查看目标命令的类型 比如查看 pwd 这个命令是何种类型的,可以输入命令:type pwd 可见 pwd 是 shell 内嵌的,自带的内部命令。 而 who 命令是外部命令,是一个程序,该程序路径为/bin/who *Linux 下的命令是区分大小写的 //以方便阅读的单位显示文件的大小 ll //ll 为 ls -l 的别名 在 console 下列出文件时,不同的颜色表示不同的文件类型: 浅白:一般的文本字符文件 红色:压缩文件 绿色:可执行文件(程序或脚本) 浅蓝:链接文件 蓝色:目录文件 黄色:设备文件 ②文件属性(用 ll 命令查看) 以 fstab2 这个文件为例: 26 文件类型: - 表示普通文件 d 表示目录 / 表示链接文件 #find 目录名 -mmin -5 //在指定目录下查找 5 分钟之内被修改过的文件 #find 目录名 -mmin +5 //在指定目录下查找 5 分钟之前被修改过的文件 28 根据文件类型: -type f //表示普通文件 -type b //表示块设备文件 -type c //表示字符设备文件 -type l //表示链接文件 -type d //表示目录 根据文件大小:0 码力 | 115 页 | 8.68 MB | 1 年前3
TypeScript Handbook(中文版)
TypeScript 1.7 TypeScript 1.6 TypeScript 1.5 TypeScript 1.4 TypeScript 1.3 TypeScript 1.1 手册 基础类型 变量声明 TypeScript Handbook(中文版) 1 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 规范 举例 深入 发布 使用 工程配置 tsconfig.json NPM包的类型 TypeScript js也 宣布使用TypeScript做新版本的开发。 那么TypeScript究竟为何物?又有什么 魅力呢? TypeScript是Microsoft公司注册商标。 TypeScript具有类型系统,且是JavaScript的超集。 它可以编译成普通的JavaScript 代码。 TypeScript支持任意浏览器,任意环境,任意系统并且是开源的。 TypeScript目前还在积极的开0 码力 | 557 页 | 7.48 MB | 1 年前3
共 820 条
- 1
- 2
- 3
- 4
- 5
- 6
- 82













