Scala學習小小總結


用Scala開發項目大概有4個月了,當初選擇Scala的時候出於兩點考慮:一是我對Java還比較熟悉,可以讓我很快上手;二是Scala簡潔的語法,可以讓我少寫很多代碼。下面是本人的一些總結列表。

1.Scala的官方網站http://www.scala-lang.org/,Scala Eclipse的插件地址http://scala-ide.org/

2.推薦一篇寫的很好的文章http://qiujj.com/static/Scala-Handbook.htm

3. 一個用於實現try finally關閉資源的trait

1 trait Disposable {
2   def using[T <: { def close(): Unit }](closable: T)(block: T => Unit) {
3      try {
4       block(closable)
5     }  finally {
6       closable.close()
7     }
8   }
9 }

 一個簡單使用Disposable的例子:

 1   def execute(dataSource: DataSource,sql: String) = {
 2     using(dataSource.getConnection()) { conn =>
 3       {
 4         using(conn.prepareStatement(sql)) { st =>
 5           {
 6             st.execute()
 7           }
 8         }
 9       }
10     }
11   }

 

4. 創建一個console app,只需要extends App就可以:

1 object TestApp  extends App {
2   println("test")
3 }

 

5. 常用循環

 從0打印到5

 

1      for (i <- 0 to 5) {
2       println(i)
3     }

從0打印到4

1      for (i <- 0 until 5) {
2       println(i)
3     }

 

foreach的用法

 

1     val array = Array(0, 1, 2, 3, 4, 5)
2 
3     array.foreach(i => println(i))
4     array.foreach(println(_))
5     array.foreach(println)

6.打印Map元素

1     val map = Map(0 -> 0, 1 -> 1, 2 -> 2, 3 -> 3, 4 -> 4, 5 -> 5)
2 
3     map.foreach {
4        case (key, value) => {
5         println("key:" + key + " value:" + value)
6       }
7     }

7.集合常用操作

+= 添加元素

++ 合並集合

drop(n) 移除前n個元素

take(n) 獲取前n個元素

filter(condition) 獲取指定condition的元素

1     val array1 = Array(0, 1, 2, 3, 4, 5)
2     val array2 = Array(6, 7, 8, 9)
3     val array3 = array1 ++ array2
4 
5     array3.foreach(println)
6     array3.take(1).foreach(println)
7     array3.drop(1).foreach(println)
8     array3.filter(_ != 1).foreach(println)

 8.類的定義

1  class Item(val id: String, val imgwidth: Int, val imgheight: Int) {
2 
3 }

 當構造中沒有使用val時,是無法獲取對象對應屬性;使用val只能get,使用var可以get和set

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM