日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scala中下划线的几种含义

發布時間:2023/12/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scala中下划线的几种含义 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1. 將方法轉變為函數

2. 表示集合里的每個元素

3. 獲取元組Tuple中的元素

4. 模式匹配

5. 隊列匹配

6. 通配符

7. 變長參數

8. 初始化變量


1. 將方法轉變為函數

def method1(x:Int,y:Int)=x*y val func1=method1 _ // 注意這里的空格 method1(2,3) func1(2,3) // res: Int = 6

2. 表示集合里的每個元素

val list1=List(1,2,3,4) val list2=list1.map(_ * 10) // list2: List[Int] = List(10, 20, 30, 40)// 用_分別表示二元函數中的參數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) // 100

4. 模式匹配

包括字符串匹配、類型匹配、數組匹配、集合匹配和元組匹配

val word="wyk" val result =word match{case "wyk" => 1case "csdn" => 2case _ => 0 // 以上都沒有匹配到才會被執行 }// 通過模式匹配獲取元組的元素,當不需要某個值的時候可以使用_替代,例如 val t1 = (1, 1.23, "wyk") val (first, second, _) = t1 // 此時新定義了兩個常量 first second // first: Int = 1 // second: Double = 1.23

5. 隊列匹配

val list=List(1,2,3,4) list match{case List( _,_* ) =>1 // List(_,_*)表示匹配以任意開頭,任意數量的列表。其他類似的有:List(3,x,y) 匹配3開頭,共3個元素的list。 List(3,_*) 匹配3開頭,任意數量的list。case _ =>2 //除此之外 匹配此處 }

6. 通配符

//導包引入,表示引入的時候將 scala.collection.mutable 包下面所有的類都導入 import scala.collection.mutable._

7. 變長參數

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= _

?希望本文對你有幫助,請點個贊鼓勵一下作者吧~ 謝謝!

總結

以上是生活随笔為你收集整理的scala中下划线的几种含义的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。