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
  • 相关阅读:
    kafka基础
    springboot启动过程(3)-refresh方法
    springboot启动过程(2)-run方法
    springboot启动过程(1)-初始化
    springBoot数据库jpa+对接mybatis
    spirng boot web配置开发
    spring boot 入门
    jetty分析
    NIO/AIO
    使用jsPDF 和jspdf-autotable 导出中文表格页面
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2617047.html
Copyright © 2011-2022 走看看