本篇內(nèi)容主要講解“scala元組怎么創(chuàng)建”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“scala元組怎么創(chuàng)建”吧!
創(chuàng)新互聯(lián)建站是一家企業(yè)級(jí)云計(jì)算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營(yíng)經(jīng)驗(yàn)。主營(yíng)GPU顯卡服務(wù)器,站群服務(wù)器,樂(lè)山服務(wù)器托管,海外高防服務(wù)器,大帶寬服務(wù)器,動(dòng)態(tài)撥號(hào)VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。
在 Scala 中,元組是一個(gè)可以容納不同類型元素的類。元組是不可變的。
當(dāng)我們需要從函數(shù)返回多個(gè)值時(shí),元組會(huì)派上用場(chǎng)。
元組可以創(chuàng)建如下:
val ingredient = ("Sugar" , 25):Tuple2[String, Int]
這將創(chuàng)建一個(gè)包含一個(gè) String 元素和一個(gè) Int 元素的元組。
Scala 中的元組包含一系列類:Tuple2,Tuple3等,直到 Tuple22。因此,當(dāng)我們創(chuàng)建一個(gè)包含 n 個(gè)元素(n 位于 2 和 22 之間)的元組時(shí),Scala 基本上就是從上述的一組類中實(shí)例化 一個(gè)相對(duì)應(yīng)的類,使用組成元素的類型進(jìn)行參數(shù)化。上例中,ingredient
的類型為 Tuple2[String, Int]
。
使用下劃線語(yǔ)法來(lái)訪問(wèn)元組中的元素。‘tuple._n’ 取出了第 n 個(gè)元素(假設(shè)有足夠多元素)。
println(ingredient._1)
println(ingredient._2)
Scala 元組也支持解構(gòu)。
val (name, quantity) = ingredient
println(name)
println(quantity)
元組解構(gòu)也可用于模式匹配。
val planetDistanceFromSun = List(("Mercury", 57.9), ("Venus", 108.2), ("Earth", 149.6 ), ("Mars", 227.9), ("Jupiter", 778.3))
planetDistanceFromSun.foreach{ tuple => {
tuple match {
case ("Mercury", distance) => println(s"Mercury is $distance millions km far from Sun")
case p if(p._1 == "Venus") => println(s"Venus is ${p._2} millions km far from Sun")
case p if(p._1 == "Earth") => println(s"Blue planet is ${p._2} millions km far from Sun")
case _ => println("Too far....")
}
}
}
或者,在 ‘for’ 表達(dá)式中。
val numPairs = List((2, 5), (3, -7), (20, 56))
for ((a, b) <- numPairs) {
println(a * b)
}
類型 Unit
的值 ()
在概念上與類型 Tuple0
的值 ()
相同。Tuple0
只能有一個(gè)值,因?yàn)樗鼪](méi)有元素。
用戶有時(shí)可能在元組和 case 類之間難以選擇。通常,如果元素具有更多含義,則首選 case 類。
到此,相信大家對(duì)“scala元組怎么創(chuàng)建”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
分享標(biāo)題:scala元組怎么創(chuàng)建
分享地址:http://jinyejixie.com/article46/psiohg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、微信公眾號(hào)、網(wǎng)站設(shè)計(jì)公司、動(dòng)態(tài)網(wǎng)站、Google、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)