scala中下划线的几种含义
生活随笔
收集整理的這篇文章主要介紹了
scala中下划线的几种含义
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
1. 將方法轉(zhuǎn)變?yōu)楹瘮?shù)
2. 表示集合里的每個元素
3. 獲取元組Tuple中的元素
4. 模式匹配
5. 隊列匹配
6. 通配符
7. 變長參數(shù)
8. 初始化變量
1. 將方法轉(zhuǎn)變?yōu)楹瘮?shù)
def method1(x:Int,y:Int)=x*y val func1=method1 _ // 注意這里的空格 method1(2,3) func1(2,3) // res: Int = 62. 表示集合里的每個元素
val list1=List(1,2,3,4) val list2=list1.map(_ * 10) // list2: List[Int] = List(10, 20, 30, 40)// 用_分別表示二元函數(shù)中的參數(shù)x和y List(10, 5, 8, 1, 7).sortWith(_ < _) // res: List[Int] = List(1, 5, 7, 8, 10)3. 獲取元組Tuple中的元素
val t=("wyk",1.23,100) println(t._1) // wyk println(t._2) // 1.23 println(t._3) // 1004. 模式匹配
包括字符串匹配、類型匹配、數(shù)組匹配、集合匹配和元組匹配
val word="wyk" val result =word match{case "wyk" => 1case "csdn" => 2case _ => 0 // 以上都沒有匹配到才會被執(zhí)行 }// 通過模式匹配獲取元組的元素,當不需要某個值的時候可以使用_替代,例如 val t1 = (1, 1.23, "wyk") val (first, second, _) = t1 // 此時新定義了兩個常量 first second // first: Int = 1 // second: Double = 1.235. 隊列匹配
val list=List(1,2,3,4) list match{case List( _,_* ) =>1 // List(_,_*)表示匹配以任意開頭,任意數(shù)量的列表。其他類似的有:List(3,x,y) 匹配3開頭,共3個元素的list。 List(3,_*) 匹配3開頭,任意數(shù)量的list。case _ =>2 //除此之外 匹配此處 }6. 通配符
//導包引入,表示引入的時候?qū)?scala.collection.mutable 包下面所有的類都導入 import scala.collection.mutable._7. 變長參數(shù)
def sum(args: Int*) = {var result = 0for (arg <- args) result += argresult }val s1 = sum(1,2,3,4,5) // 等效于 val s2 = sum(1 to 5: _*)8. 初始化變量
// 在這里, age 也可以聲明為 0 ,例: var age:Int=0 。這里的下劃線和 0 的作用是一樣的。 var age:Int=_ // 在這里, name 也可以聲明為 null ,例: var name:String=null 。這里的下劃線和 null 的作用是一樣的。 var name:String= _?希望本文對你有幫助,請點個贊鼓勵一下作者吧~ 謝謝!
總結(jié)
以上是生活随笔為你收集整理的scala中下划线的几种含义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 舒亦梵:4.24非农周即将来临,作为投资
- 下一篇: Element UI中Steps 步骤条