• 【scala】定义变量和函数


    1.定义变量

      Scala的变量分为两种,val和var。

      val跟java的final变量类似,一旦初始化就不能被重新赋值。

      var类似于java的非final变量,在整个生命周期内var可以被重新赋值。

      示例

        var  greeting :String = “hello world!”;

      Scala并不是和java一样在变量名之后给出类型,而是在变量名后,变量名和类型之间用冒号(:)隔开。

      我们还可以这样写

        var greeting = “hello world!”;

      这里并没有声明变量的类型,因为Scala具有类型判断的能力,可以不显式指定类型。

    2.定义函数

      函数定义由def开始,然后是函数名和圆括号中以逗号隔开的参数列表。

              函数名          参数列表            返回结果类型

      def    max    (x :Int , y :Int )  :   Int  =  {

        //函数内容

      }

      如果函数只有一条语句,也可以选择不是使用花括号。

        def max (x:Int,y:Int)= if(x<y)x else y

      下面是不接收任何参数也不返回任何有意义的结果的函数

        def greet() = println(“hello world”);

      返回结果是Unit,类似于java中的void,表示该函数并不返回任何由实际意义的结果。

    3.函数式编程风格

      Scala允许采用指令式编程,但是鼓励采用函数式编程风格。

      两种编码风格有什么差异呢?

      一个显著性的标志式如果代码包含任何var变量,它通常是指令风格的,比如JAVA C++ C

      而代码完全没有var,只包含了val,那么它可能是函数式的。

      例如

        

    def printArgs(args:Array[String]):Unit {
        var i = 0;
        while(i<args.length){
               println(args(i));
               i+=1; 
        } 
    }     
    //这个是典型的指令式编程
    //我们可以去掉上述代码中的var,转换成函数式编程
    def printArgs(args:Array[String]):Unit {
        for(arg<-args)
            println(arg);
    }

      使用函数式编程跟指令式编程相比较,更清晰精简,也更少出错。

      但是Scala并没有强制你去使用函数式风格来编程,Scala式指令式/函数式混合类型的语言。

  • 相关阅读:
    Mac下安装brew
    Mac下安装node.js
    Mac下mysql服务端密码重置及环境配置
    Mac配置jdk以及maven
    Mac下卸载jdk
    34个漂亮的应用程序后台管理界面(系列一)
    ViewState
    get和post
    无刷新 分页评论
    isPostBack原理
  • 原文地址:https://www.cnblogs.com/zzhangyuhang/p/8654180.html
Copyright © 2020-2023  润新知