Scala有什么用

小編給大家分享一下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)

成都做網(wǎng)站