为了账号安全,请及时绑定邮箱和手机立即绑定

Scala程序设计—基础篇

辰方 其它
难度初级
时长 2小时13分
学习人数
综合评分9.63
93人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • call by value 对函数实参求得值后再才传给函数,且仅求一次--常用

    call  by name 函数实参每次在函数体内被用到时才会求值;形参以=>开头,会使用call by name


    查看全部
    1 采集 收起 来源:求值策略

    2019-10-09

  • 函数式编程

    不变性(immutability)

    为了获取引用透明性,任何值都不能变化

    查看全部
  • http://www.imooc.com/learn/613
    查看全部
    0 采集 收起 来源:课程介绍

    2019-08-16

  • 递归函数基于栈

    尾递归中所有递归形式的调用都出现在末尾,当编译器检测到一个函数调用尾递归时,就覆盖当前的活动记录而不是在栈中创建一个新的

    @annotation.tailrec 告知scala,对此为函数进行尾递归优化

    查看全部
  • 柯里化把具有多个参数的函数转换未一条函数链,每个节点上是单一参数

    https://img1.sycdn.imooc.com//5d4bb88c0001a95608230316.jpg

    查看全部
    0 采集 收起 来源:Scala 柯里化

    2019-08-08

  • scala中函数是第一等公民,函数类似于变量,但具有函数的类型

    类型格式A=>B ,表示一个接受类型A的参数,并返回类型B的函数

    匿名函数,就是函数常量,也称为函数文字量,定义格式未(形参列表)=>{函数体}

    查看全部
  • scala中所有的运算都是基于表达式

    call by value 对函数实参求值,且仅求一次--常用

    call  by name 函数实参每次在函数体内被用的时都会求值;形参以=>开头,会使用call by name

    https://img1.sycdn.imooc.com//5d4b76f50001a25805190267.jpg

    查看全部
    0 采集 收起 来源:求值策略

    2019-08-08

  • try不是语句是表达式会返回一个值

    案例中的下划线是通配符可通配所有对象

    match类似于swith

    查看全部
  • if是表达式,不是语句:if(exp) valA else valB

    for comprehension实现循环的推导式

    查看全部
  • Block:代码块,最终的求得值是最后一个表达式的值

    函数:def functionName(param:ParamType):ReturnType={

        //function body:experssions

    }

    多个参数用逗号分隔

    查看全部
  • Any父类(基类):下辖AnyVal和AnyRef;最后子类都是Nothing

    AnyVal值类型;Numeric\Boolean\Char\Unit=void

    AnyRef引用类型:All java.* ref types \All scala.* ref types;AnyRef最后的子类Null

    高精度向低精度赋值时,需做隐式转换;

    Nothing通常用于函数异常终止

    String与java的String相同,引入插值特性interpolation

    ie:

    val name="wanglei"

    S"My name is ${name}"


    查看全部
    0 采集 收起 来源:Scala数据类型

    2019-08-08

  • Nothing通常用于函数异常终止
    查看全部
    0 采集 收起 来源:Scala数据类型

    2019-08-06

  • 安装scala,sbt,IDEA+scala插件

    查看全部
    0 采集 收起 来源:scala环境搭建

    2019-07-22

  • <a href="http://docs.scala-lang.org/overviews/collections/introduction.html" target="_blank">http://docs.scala-lang.org/overviews/collections/introduction.html</a>
    查看全部
  • @ annotation. tailrec

    def factorial(n: Int,m: Int): Int=

    if(n<=e)m

    else factorial(n-1,m*n)


    // @ annotation. tailrec 是尾递归优化必须

    factorial(5,1)

    查看全部

举报

0/150
提交
取消
课程须知
本课程是Scala的基础教程,虽然对学员的基础不做要求,但是学员最好有一门编程语言的经验,这样会更容易理解课程里的一些概念。
老师告诉你能学到什么?
1、函数式编程的基本概念 2、Scala的开发环境 3、高阶函数 4、表达式求值策略 5、Scala Immutable Collection简介

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!