這篇并沒有寫成教程形式的相叁,只是單純地做學習筆記。
2016\\11\\04:
完全看不懂烦感,奇特而神奇的語言……
1、
建立了國家和首都之間的映射關系膛堤;
添加了一個新的映射關系“日本-東京”手趣;
打印了與“France”相關的首都;
2肥荔、
實際上绿渣,scala是純粹的面向對象語言:每個值都是對象朝群,每個操作都是方法調用。例如:1+2中符,實際上是調用 Int 類的 + 方法姜胖。方法名可以用像操作符一樣的名字定義。
scala是函數(shù)式語言:1)函數(shù)是頭等值淀散,函數(shù)也是值右莱;2)操作只是把輸入映射為輸出值,而不是修改數(shù)據(jù)吧凉;方法不應該有任何side effect隧出;
但scala不強迫使用函數(shù)式的風格。
簡潔:
帶構造函數(shù)的類 ? class MyClass(index:Int阀捅,name:String)
高級:
判斷一個string里面是否包含大寫字母 ?val nameHasUpperCase = name.exists(_.isUpperCase)
scala是靜態(tài)類型的胀瞪,本人理解就和swift里面數(shù)據(jù)類型的處理差不多的意思吧……不想仔細看了…
2016/11/05
1、變量
scala有兩種變量var和val饲鄙,val 不可更改凄诞;var可更改。
scala的變量類型寫在變量后面忍级,用:隔開帆谍。(跟swift好像……)
2、函數(shù)定義
至此在形式上理解函數(shù)式編程大概就是 *** = ***:
沒有返回時轴咱,返回類型是 Unit .
3汛蝙、foreach 枚舉
更完整一點的寫法是
更緊湊的寫法是(函數(shù)字面量只有一行且只帶一個參數(shù)時)
4、函數(shù)字面量
5朴肺、for expression
<-- 右側即args數(shù)組窖剑,左側一定是val 類型的變量,注意:是val戈稿,盡管看上去像是 var型的西土。
6、
大致是這樣的鞍盗,如果代碼中包含了任何的var變量需了,那它可能就是指令式的風格;如果代碼中根本沒有var般甲,僅僅包含val肋乍,那它或許就是函數(shù)式的風格。向函數(shù)式編程轉變的方式之一就是嘗試不用任何的var敷存。It‘s a challenge住拭!