博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dotty编译器语法特性之一幽灵类型
阅读量:5799 次
发布时间:2019-06-18

本文共 521 字,大约阅读时间需要 1 分钟。

hot3.png

什么是幽灵类型?

一个幽灵类型是在运行时表现为没有副作用的抽象类型。 因为他们在运行时没有副作用,所以一旦它显示明确类型之后,会被编译器从结果集中擦除。

如果一个函数接受一个幽灵类型,那么他的返回值将不会受他的参数影响。

定义一个幽灵类型

幽灵类型是通过一个object 继承 scala.Phantom来定义的,这个对象表示幽灵类型的一个领域,是完全区别开scala.Any或者其他的幽灵类型的领域。

package scalatrait Phantom { // only an `object` can extend this trait  protected final type Any // not a subtype of scala.Any  protected final type Nothing // subtype of every subtype of this.Any  protected final def assume: this.Nothig}object MyPhantoms extends Phantom

转载于:https://my.oschina.net/jackywyz/blog/915419

你可能感兴趣的文章
git reset 三种用法总结
查看>>
hdfs笔记
查看>>
虚拟机新增加硬盘,不用重启读到新加的硬盘
查看>>
Java IO流详尽解析
查看>>
邮件服务系列之四基于虚拟用户的虚拟域的邮件系统(安装courier-authlib以及部分配置方法)...
查看>>
Linux VSFTP服务器
查看>>
《中国梦之声》新季开播 乐视生态“逆向造星”
查看>>
DHCP中继数据包互联网周游记
查看>>
Squid 反向代理服务器配置
查看>>
情深意伤
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
项目管理心得
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
灰度图像和彩色图像
查看>>
通过vb.net 和NPOI实现对excel的读操作
查看>>
TCP segmentation offload
查看>>
java数据类型
查看>>
数据结构——串的朴素模式和KMP匹配算法
查看>>
FreeMarker-Built-ins for strings
查看>>