scala学习

博客指出Scala灵活但不易上手,与Java、C++等面向对象语言差异大。介绍了Scala中特殊符号的用法,如=>用于import、函数调用、定义匿名函数和模式匹配;->产生Tuple2;@用于模式匹配等。还提到Scala对象可通过with继承Trait。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

scala总体比较灵活,同时也就比较不容易上手,代码看起来吃力。相对于java,c++等面向对象的编程语言还是有比较大的差异。

一.符号=>的用法:

1.import中,

// 重命名成员 
import java.util.{HashMap => JavaHashMap} 
// 隐藏成员 
import java.util.{HashMap => _, _} 
// 引入了util包的所有成员,但是HashMap被隐藏了。

2.函数调用:使用 => 符号来设置传名调用

def delayed( t: => Long ) = {
      println("在 delayed 方法内")
      println("参数: " + t)
      t
   }

3.定义匿名函数:

(x: Int) => x + 1      
//和如下JAVA方法表示的含义一样:
public int function(int x){
 return x+1;
}

4.模式匹配:

x match {
      case 1 => "one"
      case 2 => "two"
      case _ => "many"
   }

二.符号 -> 

例:val coll = Map(1 -> "Eins", 2 -> "Zwei", 3 -> "Drei")

->连字符和大于号的字符,类似于一个右箭头,是一个操作符,产生一个Tuple2。(1, "Eins")和1 -> "Eins"结果没有区别,只是前者更容易阅读

三.符号@ ;scala中 @ 除了是注解 以及 抽取XML的属性 功能以外 , 还有一个功能就是模式匹配中匹配类似some的值

参考:https://blog.youkuaiyun.com/duan_zhihua/article/details/53914304

四.with:类似java通过implement 继承interface。scala对象可以通过with继承Trait 

trait Swim {
  def swim = println("Swimming!")
}

class Person

val p1 = new Person  // A Person who can't swim
val p2 = new Person with Swim  // A Person who can swim

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值