• scala 第一课


    clip_image001

    val msg="Hello,World"

    Scala 可以根据赋值的内容推算出变量的类型。这在Scala语言中成为“type inference”。

    Scala访问数组的语法是使用()而非[]。

    Scala不支持++i和i++运算符,因此需要使用i += 1 来加一

    当你在某个值后面使用()时,Scala将其翻译成对应对象的apply方法

    REPL

    scala 交互式编译的工具 可以方便进行练习 查看测试

    类的定义

    case class Money(val amount:Int=1, val currency:String="USD"){

    def +(other: Money) : Money = Money(amount + other.amount)

    }

    类实例的生成与使用

    val m1 =Money(100,"rmb")

    val m2=Money(200,"rmb")

    m1+m2

    scala里面有没有,类似python里面的自醒函数 type之类的,可以查看类的方法属性之类?

    集合的操作

    val nums=List(1,2,3,4,5,6)

    nums.foreach(println)

    for(n<-nums)println(n)

    val reverseNums=nums.reverse

    取子集

    nums drop 2 take 3

    List 可以接受不同的类型元素

    val things =List(1,2,"scala",true)

    过滤和分区

    val amounts = List(Money(10,"USD"),Money(2,"EUR"),Money(20,"GBP"),Money(75,"EUR"),Money(100,"USD"),Money(50,"USD"))

    val usd = amounts.filter(x=>x.currency=="USD")

    val notusd = amounts.filterNot(x=>x.currency=="USD")

    Partition方法 合并了filter and filterNot 的结果

    val allamounts=amounts.partition(m=>m.currency=="USD")

    返回的结果类型为Tuples(List(Money),List(Money))

    scala支持Tuple类型

    allamounts._1

    allamounts._2

    val t=(true,1,false,2)

    Map 类似hashmap这样的key,value数据结构

    val wallet =Map("USD"->10,"EUR"->2)

    wallet("EUR")

    如果key不存在,则会报元素不存在的异常,所以安全获取元素的方法是

    wallet.get("EUR")

    map方法

    对集合中的每一个元素都执行,生成新的集合,作用在List上。

    对List中的元素进行分类的方法

    val sortedAmounts = amounts.groupBy(_.currency)

    foldLeft方法

    会传递一些状态从一个元素到另一个元素,例如连乘或加。

    val productofnums = nums.foldLeft(1){(total,n) =>total*n}

    Ranges
    表示一个有起始值和结束时的区域
    1 to 10
    1 util 10
    1 to 10 by 3
    'a' to 'z'

    option some None
    如果有值,就是some,没有值就是None
    Map.get返回的值就是option[T]

    Seq 是List和Vector的父类型,支持迭代。

  • 相关阅读:
    Java学习10——package和import
    第一次作业_031502532_吴智慧
    Java学习9——面向对象
    Java学习8——类(对象)之间的关系
    Java学习7——一些注意的地方
    Java学习5——标识符和关键字
    Zookeeper集群和HBase集群
    Zookeeper、HBase的伪分布
    hive学习笔记——表的基本的操作
    hive 学习笔记——表的入门操作和命令
  • 原文地址:https://www.cnblogs.com/huaxiaoyao/p/5224304.html
Copyright © 2020-2023  润新知