zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    ZOJ 1002 Fire Net
    Uva 12889 One-Two-Three
    URAL 1881 Long problem statement
    URAL 1880 Psych Up's Eigenvalues
    URAL 1877 Bicycle Codes
    URAL 1876 Centipede's Morning
    URAL 1873. GOV Chronicles
    Uva 839 Not so Mobile
    Uva 679 Dropping Balls
    An ac a day,keep wa away
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2617047.html
Copyright © 2011-2022 走看看