Scala集合庫 模式匹配和樣例類

2022-07-02 17:24:08 字數 2139 閱讀 8773

package

com.yz8

import

org.junit.test

class

test

@test

def test2(): unit =

list.head+sum(list.tail)

}val i =sum(ints)

println(i)

//27

//一般不用return返回值 一般當作break來用

} @test

def test3():unit=

@test

def test4():unit=

//a=b b=c 推出a=c 等效推算(定義變數/定義集合這些存資料的地方,預設常用不可變) 很多東西預設不可變,更符合機器邏輯

@test

def test5(): unit =

}

package

com.yz8

import

org.junit.test

import

scala.beans.beanproperty

import

scala.collection.mutable

class

test2

@test

def test2(): unit =

@test

def test3(): unit =

ret}

})set.add(

new person("a",20))

set.add(

new person("w",30))

set.add(

new person("e",50))

set.add(

new person("f",10))

set.foreach(println(_))

} @test

def test4(): unit =

@test

def test5(): unit =

@test

def test6(): unit =

println(name)

} @test

def test7(): unit =

//case後如果寫值,就表示匹配這個值,如果寫變數名,就表示接收這個值

))

//中國h

//中國e

//中國l

//中國l

//中國o

//中國,

//空格

//中國w

//中國o

//中國r

//中國l

//中國d

} @test

def test8(): unit =

retust

}val res1 = myconvert("123")

println(res1==123)//

true

val res2 = myconvert(true

) println(res2)

} @test

def test9(): unit =

} @test

def test10(): unit =

} @test

def test11(): unit =

} @test

def test12(): unit =

}show(yellow)

} @test

def test13(): unit =

}show(map.get("f"))//

沒值 show(map.get("a"))//

10println(map.get("a"))//

some(10)

println(map.get("e"))//

none

} @test

def test14(): unit =

}class

person

}class person2 extends

ordered[person2]

override def compare(that: person2): int =

ret}}

Scala模式匹配和樣例類

scala 有乙個十分強大的模式匹配機制,可以應用到很多場合 如 switch 語句 型別檢查等。並且 scala 還提供了樣例類,對模式匹配進行了優化,可以快速進行匹配。package cn.cheng.cases import scala.util.random val arr array ha...

Scala 模式匹配和樣例類

scala的模式匹配機制,可以應用到很多場合 scala還提供了樣例類,對模式匹配進行了優化,可以快速進行匹配 匹配字串 todo 匹配字串 類似 switch 定義乙個陣列 val arr array hadoop zookeeper spark storm 隨機取陣列中的一位,使用random....

Scala基礎 模式匹配和樣例類

package com.zy.scala import scala.util.random 模式匹配 object casedemo 匹配資料型別 val arr2 array hello 1,2.0,casedemo val v arr2 random.nextint 4 println v v ...