zoukankan      html  css  js  c++  java
  • scala学习笔记3:基本控制结构基础

    以下主要记录的是看完scala in programming这本书buildin control structures(第七章)后的要点总结。

    1,if,while,do while和for的用法和java类似,不过for语句中可以带filter。

    1     val filesHere = (new File(".")).listFiles()
    2     for (file <- filesHere if file.getName.endsWith("src"))
    3       println(file)

    2,通过for循环可以产生集合。格式:for clauses yield body

    1     val filesHere = (new File(".")).listFiles()
    2     def srcFiles =
    3     for {
    4       file <- filesHere if file.getName.endsWith("t")
    5     }
    6     yield file
    7 
    8     for (file <- srcFiles)
    9       println(file)

    3,异常和java类似,类型可以用TypeNothing表示。并且可以用case匹配来处理异常。

    4,scala有match语句,用法示例如下。

    1     val firstArg = if (args.length > 0) args(0) else "salt1"
    2 
    3     firstArg match {
    4       case "salt" => println("haha")
    5       case _ => println("bbb")
    6     }

    5,scala中没有continue和break语句。workaround:

      a,boolean变量条件加到循环判断中

      b,函数式(递归)--尽量使用

      c,使用scala.util.control.Break包,但是不建议这么做,性能不太好。

    6,变量作用域范围问题和java类似,另外尽量采用函数式编程,少用控制结构,少用var,多用val.

  • 相关阅读:
    有道翻译爬虫
    设置Ubuntu默认root密码
    搭建内部PyPi源
    Python上下文管理器with 学习笔记
    Mysql5.7 绿色版安装
    Mardown 格式接口模板
    Winrar去广告
    Python 查询第三方包依赖及下载
    Python 捕获redis异常
    react入门系列之使用 antd, react, redux,creat-react-app搭建todo-list升级版本
  • 原文地址:https://www.cnblogs.com/superhedantou/p/5904746.html
Copyright © 2011-2022 走看看