Implicit 语法举例

例子一、最简单的理解就是可以做隐式类型转换

Implicit 语法举例

例子二、 然后也可以是扩展方法,这个和 C# 的语法糖看起来相似,L14 和 L15 是一样的

Implicit 语法举例

例子三、隐式参数,这里定义了一个 trait 我是理解为接口,通过定义一个实例对象并实现其中的方法,最终调用的时候,我写的是 showOne(12),编译器在执行时会变成

showOne(12)(jwInt)

Implicit 语法举例

这个例子如果想要扩展到 String,需要继续实例化一个 jwString:JW[String] 对象,也就是每次都要写很多类型的代码,可以简化为如下写法。

当然实质上只是将复用部分进行抽象写成了一个函数而已

Implicit 语法举例

上面举的例子或者太复杂了,这里举一个极其简单的,这里 dt 函数需要一个 a 变量,这里定义的 aaa 就是这里的 a

Implicit 语法举例