scala 基础知识

阅读更多
  • scala如何判断类型及强制类型转换
  • if(p.getClass == classOf[Employee]){
      
    }
    if(p.isInstanceOf[Employee]){
      var newP = listener.asInstanceOf[Employee]
    }
    
     
  • for循环
  •  scala中没有与java一样的for循环
  • for(i <- 表达式)
    实现i遍历 表达式里的所有元素。表达式可以是Range类对象或者是集合类。遍历字符串使用的是until而不是to.
    val s= 'hello';
    var sum = 0;
    for(i -> 0 unitil s.length){
      sum += s(i)
    }
    for循环的推导式,for循环体如果以yield开始则该循环会构造出一个集合,每次迭代生成集合中的一个值
    for(i -> 0 to 10{
      yield i % 3
    } 
    
  •  scala 递归函数必须指定返回值类型,其他类型函数可以不指定返回值类型。
  • 使用 :_*做序列转换
  • val s = sum(1 to 5 :_*) //将1到5当作参数序列来处理
    序列的head是他的首元素,参数的tail是其他所有元素的序列,也是一个seq.例如:
    def recursiv(args:Int *):Int = {
       if (args.length == 0 ) 0 
       else args.head + recursiv(args.tail :_*)
    }
    用 :_*转成参数序列
    
     
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

 

 

你可能感兴趣的:(scala 基础知识)