小編給大家分享一下Scala有什么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)公司基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)四川雅安服務器托管報價,主機托管價格性價比高,為金融證券行業(yè)服務器托管,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
一、基礎(chǔ)
1、在Scala聲明值和變量的時候,用val聲明的值是不能改變你賦予它的內(nèi)容的,而var可以。如下:
scala>val answer = 8 answer: Int = 8
以val定義的值實際上是一個常量——無法改變其內(nèi)容。
如果我們想要聲明其值可以改變的變量,我們可以用var:
var counter = 0 counter = 1 //OK,我們可以改變一個var
2、在指定變量類型的時候,Scala和Java有一些差別:
Java:
String greeting;
Scala:
val greeting: String = null;
3、Scala7種數(shù)值類型:Byte、Char、Short、Int、Long、Float、Double、Boolean。
4、在Scala中,我們用方法,而不是強制類型轉(zhuǎn)換,來做數(shù)值類型之間的轉(zhuǎn)換。例如:99.44.toInt得到99,99.toChar得到'c'。和Java一樣,toString將任意的對象轉(zhuǎn)換成字符串。
要將包含了數(shù)字的字符串轉(zhuǎn)換成數(shù)值,使用toInt或者toDouble。例如,“99.44”.toDouble得到99.44。
5、Scala的算術(shù)和操作符重載時需要注意的是:Scala中的操作符實際上是方法。
比如說:
a + b
是如下方法調(diào)用的簡寫:
a.+(b)
此處的+是方法名。Scala中可以使用幾乎任何符號來為方法命名,通常來說,你可以用:
a 方法 b
作為一下代碼的簡寫:
a.方法(b)
這里的方法是一個帶有兩個參數(shù)的方法(一個隱式的和一個顯式的)。例如:
1.to(10)可以寫成: 1 to 10
6、Scala還有一個顯著的不同,Scala并沒有提供++和--操作符,我們需要使用+=1或者-=1
7、在Scala中的通配符是 _ 而不像是java的 * 。例如在引入時,import scala.math._
8、Scala的apply方法是一個很常用的方法。舉例來說,如果s是一個字符串,那么s(i)就是該字符串的第i個字符。而字C++中,我們會寫成s[i],在java中,我們會寫成s.charAt(i)。在Scala中,我們卻可以直接這樣:"Hello"(4)//這樣將會產(chǎn)出'o'。可以將這種方法看做是()操作符的重載形式,它背后實現(xiàn)原理是一個名為apply的方法。例如,在StringOps類的文檔中,有以下方法:
def apply(n: Int):Char
其實也就是說,"Hello"(4)是如下語句的簡寫:
"Hello".apply(4)
9、Java程序員們使用Javadoc來瀏覽Java API,Scala也有自己的版本,叫做Scaladoc。
二、控制結(jié)構(gòu)和函數(shù)
1、Scala的if/else語法結(jié)構(gòu)和Java或C++一樣。但是,值得注意的是在Scala中if/else表達式是有值的,這個值就是跟在if或else之后的表達式的值。如:
if (x > 0) 1 else -1
上述表達式的值是1或者-1,具體取決于x的值。甚至可以將if/else表達式的值賦值給變量:
val s = if (x > 0) 1 else -1
這和下面的語句效果是一樣的:
if (x > 0) s = 1 else s = -1
但是,第一種寫法更好,因為它用來初始化一個val,而在第二種寫法中,s必須是var。
看完了這篇文章,相信你對“Scala有什么用”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
文章標題:Scala有什么用
網(wǎng)頁地址:http://muchs.cn/article0/jcpeoo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、定制開發(fā)、靜態(tài)網(wǎng)站、網(wǎng)站導航、面包屑導航、營銷型網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)