scala(一种静态语言)

语法:

  关键字 val(表示:值) 不可变

    ex:  val a:Int=1   或者   val a=1(会自动识别类型,无基本类与包装类之分)

        输出:a:Int=1

  关键字var

    ex:  var a:Int=1

        输出: a:Int=1

 

  方法(API)定义:def 方法名(参数:类型,...,参数:类型):返回值={函数体}    (备注:在{}内的最后一行就是返回值

          API格式:方法名:(参数:类型,...,参数:类型)返回值(ex:  add:  (x:   Int,y:    Int)Int  )

          当不需要返回值类型为:def 方法名(参数:类型,...,参数:类型=默认参数):返回值(Unit){函数体}    ex:add:  (x:   Int,y:    Int)Unit  (Unit代表返回值为空

  def add(x :Int*)={函数体}    可变长参数,备注类型必须都是Int

  函数调用方式:如果一个函数不需要传参时,函数的()可以省略,直接方法名调用。但是:当def是没有()时,调用的时候不能有()

  所有immutable包下面的都是不可变的,mutable包下面都是可变的。

  

  scala是没有static的,使用object来实现(object没有同名的class(伴生类)则称之为游离对象)

 

  1.to(10)         1 until 10      range(1,2)   range(1,10,2)

  for(i<-1 to 10)  println(i)       for(i<-1 to 10 if(i%2==0))  println(i)

  var array = Array(1,2,3,4)      array(0)

  lazy:   懒加载,当真正调用的时候才会加载

  

  占位符:_

 

  元组:ex:val a=(1,2,3,4)                                             ****************************************

      访问方式:a._1,a._2

 

  类加()调用的是object中的apply方法,对象加()调用的是class中的apply方法

 

  对象 match {

  }

  case class      默认类参数是val类型

  val  _add = add _                _add:表示函数指针        _add:(Int,Int) => Int

  匿名函数:(x:Int,y:Int)=>x+y    res1(1,2)       map(_*2)等价于map((x:Int)=>x*2)

  1::2::3::Nil                 返回的是List

  flatern  flatMap

 

  <:  , 向上看(上界)能看到什么。ex:[T<%Comparable[T]],T类型向上看必须能看到Comparable特质

 

  scala隐式转换的规则:

 

转载于:https://www.cnblogs.com/jswang/p/9003709.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值