`
功夫小当家
  • 浏览: 186389 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

scala笔记-隐式变量

阅读更多

知识点:隐式变量

注意点:

  • 不声明,不能直接用
  • 一个方法,不能同时找到多个隐式变量,否则会报错
  • 如果显示指定了值,则隐式的值不会起到作用

 

测试代码:

 

package demo.scala

object TestImplicit1 {

  def test(implicit name: String) = {
    println("name=" + name)
  }

  def main(args: Array[String]): Unit = {
    //1.直接调用,没走隐式参数,结果:name=abc
    test("abc")

    //2.报错:could not find implicit value for parameter name: String
    //test

    //3.隐式参数,找到了直接用,所以test不会报错,结果:name=implicit_name
    implicit val abc = "implicit_name"
    test

    //4.显示指定时候,不会用隐式参数的值,结果:name=abc
    test("abc")

    //5.再定义一个字符串类型的隐式变量,会报错,因为方法test找到了两个字符串类型的隐式变量:ambiguous implicit values: both value s1 of type String and value abc of type String match expected type String test
    //    implicit val s1 = "s1"
  }
}

 

 

分享到:
评论

相关推荐

    scala学习笔记整理

    在"scala学习笔记整理"中,我们可以深入探讨以下关键知识点: 1. **基础语法**:Scala的基础语法与Java有相似之处,但也有很多独特的特点。例如,它支持变量的不可变性(immutability),使用`val`声明常量,`var`...

    Scala详细总结(精辟版++)

    Scala支持隐式转换和隐式参数,可以自动将一个类型转换为另一个类型,或者在函数调用时自动提供某些参数。 #### 类型参数化 Scala中的类型参数化允许开发者创建泛型类和函数,从而编写更加通用的代码。 #### 类型...

    scala-learn:scala学习笔记

    Scala的基础语法简洁而强大,包括变量声明(val和var)、常量、基本数据类型(Int、Double、Boolean等)以及字符串操作。理解这些概念是学习Scala的第一步。 2. **类与对象** Scala中的类和对象是面向对象编程的...

    scala学习笔记

    - **隐式转换**:通过 `implicit` 关键字定义隐式转换规则,可以在编译时自动转换类型。 - **延迟初始化**:使用 `lazy` 关键字定义变量,该变量只在首次使用时计算并存储结果。 - **异常处理**:Scala 提供了丰富的...

    scala笔记:学习scala时的笔记

    - Scala是强类型语言,变量声明时必须指定类型,但可以使用类型推断简化编写。 - `val`用于声明不可变变量,`var`用于声明可变变量。 - 类型系统包括基本类型(如Int, Double, Boolean)和引用类型(如类、接口)...

    SCALA从入门到精通个人笔记含代码

    变量 数据类型 流程控制 操作符重载 模式匹配 函数式编程基础 函数式编程说明 函数定义/声明 函数运行机制 递归 函数注意事项和细节 过程 惰性函数和异常 面向对象编程初级 类和对象 包 包对象 面向...

    Scala笔记Markdown版本(至集合章节)

    总结,本Scala笔记Markdown版本涵盖了从语言基础到集合操作的重要内容,适合初学者入门和有经验的开发者巩固知识。通过学习,开发者将能够掌握Scala的核心特性和编程技巧,从而更好地利用Scala进行后端开发。

    MyScalaStep:一步步记录我学习scala

    同时,Scala的类型系统还允许我们创建复杂的类型构造,如类型类和隐式转换,这些在处理领域特定语言(DSL)时尤其有用。 在"ScalaStep"的学习过程中,你会接触到Actor模型,这是Scala对并发编程的一种独特解决方案...

    阿里云ossjava源码-job-recommendation:工作推荐引擎

    的使用是开箱即用的,它只是由名为sparkContext的隐式变量启用。 快速入门指南 想试用 Spark Notebook? 做这些步骤。 去 。 下载其中一个版本。 将文件展开到方便的地方。 打开终端/命令窗口。 切换到扩展发行版的...

    阿里云ossjava源码-spark-notebook-myversion:spark-notebook-myversion

    的使用是开箱即用的,它只是由名为sparkContext的隐式变量启用。 您还应该检查网站,。 讨论 加油! 邮件列表 有两个不同的邮件列表,每个列表都针对特定的讨论: Spark 笔记本开发 然后是关于实现、架构、特性以及...

Global site tag (gtag.js) - Google Analytics