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 img Int, val imgheight: Int) {
2 
3 }
复制代码

 当构造中没有使用val时,是无法获取对象对应属性;使用val只能get,使用var可以get和set

 
 
标签: scala
原文地址:https://www.cnblogs.com/Leo_wl/p/2617047.html