/*
你可以使用 type 关键字声明另一类型的别名(用法和C++一样一样的)
类型别名:type aliases
type Name = String;type 也可以用来声明trait的关联类型,详细请看“特性trait”章节更多详细信息请看:
https://github.com/rooat/RustLearn/blob/master/src/ch19-04-advanced-types.md
*/fn test_1() {type Name = String;let x: Name = "Hello".to_string();println!("{}", x);
}//但是请注意,这是一个别名,不完全是一个新类型。换句话说,因为 Rust 是强类型的,所以你不能比较两个不同类型
fn test_2() {type Name1 = i32;type Name2 = i32;let x1: Name1 = 36;let x2: Name2 = 34;if x1 == x2 {println!("same value");} else {println!("not same value");}
}/*
你还可以使用泛型类型别名:
use std::result;
enum ConcreteError {
Foo,
Bar,
}
type Result<T> = result::Result<T, ConcreteError>;
这将创建一个 Result 类型的专门的版本 ,它总是有一个针对 Result< T E > 的 E 部分的 ConcreteError 。
这常被用在标准库来为每一部分创建自定义错误。例如,io::Result 。
*/
fn test_3() {use std::result;enum ConcreteError {Foo,Bar,}type Result<T> = result::Result<T, ConcreteError>;
}fn main() {test_1();test_2();test_3();
}

3.type关键字.rs相关推荐

  1. Go 学习笔记(27)— type 关键字(类型定义、类型别名、类型查询、定义接口、定义结构体)

    1. 类型别名定义 定义类型别名的写法为: type TypeAlias = Type 类型别名规定: TypeAlias 只是 Type 的别名,本质上 TypeAlias 与 Type 是同一个类 ...

  2. Scala-Unit6-final/type关键字、样例类样例对象

    一.关键字 1.final关键字 用final修饰的类:不能被继承 用final修饰的方法:不能被重写 注意:(1)在Scala中变量不需要用final修饰,因为val与var已经限制了变量是否可变 ...

  3. scala type关键字用于起别名

    type关键字相当于给类型起了个别名 object SeqDemo extends App {//给类型String起个别名s,type s = String//定义一个s类型的变量,就相当于定义一个 ...

  4. go语言中的type关键字

    type关键字 type是go语法里的重要而且常用的关键字,type绝不只是对应于C/C++中的typedef.搞清楚type的使用,就容易理解go语言中的核心概念struct.interface.函 ...

  5. TypeScript杂谈(一)——type关键字

    type的定义 type:其作用就是给类型起一个新名字,可以作用于原始值(基本类型),联合类型,元组以及其它任何你需要手写的类型 type Second = number; // 基本类型 let t ...

  6. go中使用type关键字来定义类型别名

    package mainimport "fmt"type AAA map[string]interface{}func main() {// aaa := make(map[str ...

  7. 4.extern关键字.rs

    /* 在rust中有两种用法 1.导入外部的包 extern crate mylib .在最新的rust2018中已经可以不在声明 2.extern "C" 目测和C语言完全一致每 ...

  8. 2.static关键字.rs

    /* Rust 全局变量(static):1.定义如下 static NUM: i32 = 100;2.全局变量和常量类似,但是一个重要的区别就是,全局变量不会被内联,在整个程序中,全局变量只有一个实 ...

  9. 1.const关键字.rs

    /* 定义常量与定义普通变量的区别:1.关键字是const而不是let2.常量声明时候必须指明类型,编译器不会进行自动推导3.定义常量时变量的命名规则一般是全部大写(如NUM),非强制,但是会有war ...

最新文章

  1. 深度学习时代,调包侠没有未来,但是这个“包”有
  2. springboot-web开发(请求映射原理)
  3. thinkphp后台_【帮转】PS4中文社区php后台工程师志愿者/实习生招募
  4. c c mySQL机票设计_期末课程设计之 c++操作mysql完成机票预订系统(vc 6.0配置mysql环境)...
  5. TensorFlow 笔记6--迁移学习
  6. VBA中利用Dir遍历文件
  7. java中Jackson_java 中的好东西 jackson
  8. JavaScript之数组学习
  9. Roberts算子边缘检测原理及实现
  10. web前端开发与应用——超链接
  11. 七彩安卓影视APP源码独立解析接口
  12. 极速office(Word)如何插入分数
  13. matlab 网状图,Matlab如何画3维网状图
  14. AutoRunner 功能自动化测试项目实训之crm客户管理系统试用安装包下载(二十)
  15. 怎么选择靠谱的IP地理位置定位产品?
  16. autocad显卡驱动文件hdi_AUTOCAD启动提示显示驱动文件丢失怎么办?hdi是什么文件?...
  17. Android权限(permission)大全
  18. 用java设计实现一个简单的动作冒险类游戏
  19. NN入门,手把手教你用Numpy手撕NN(一)
  20. Android3d结构光,3D结构光首功+Find+X成首款刷脸支付安卓机

热门文章

  1. Maven软件的下载安装
  2. Spring Framework总览面试题精选
  3. MapReduce运行机制-Map阶段
  4. 发布订阅之fanout
  5. 数据库-排序-升降序-多列
  6. Base64编码 - Java加密与安全
  7. 原型的指向是否可以改变 原型最终指向了哪里 原型指向改变如何添加方法和访问
  8. php 获取设备,PHP获取设备类型实例代码
  9. 华为手机记事本导出_涨知识!原来华为手机自带的录音转文字这么好用,秒变会议神器...
  10. 万能点位图软件_【像素图】复古提花毛衣+秋风落叶十字绣图,非常适合这个季节...