美文网首页好程序员大数据
好程序员大数据教程Scala系列之方法的嵌套和方法多态

好程序员大数据教程Scala系列之方法的嵌套和方法多态

作者: ab6973df9221 | 来源:发表于2019-10-12 14:05 被阅读0次

    好程序员大数据教程为大家分享Scala系列之方法的嵌套和方法多态

    方法里嵌套定义其他方法

    示例1

    object EmbedDemo {

      def add3(x:Int,y:Int,z:Int)={

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

          x+y

        }

        add2(add2(x,y),z)

      }

      def main(args: Array[String]): Unit = {

        println(add3(1,2,3)) //6

      }

    }

    示例2

    def factorial(x: Int): Int = {

    def fact(x: Int, accumulator: Int): Int = {

          if (x <= 1) accumulator

          else fact(x - 1, x * accumulator)

        } 

        fact(x, 1)

    }

    println("Factorial of 2: " + factorial(2))

    println("Factorial of 3: " + factorial(3))

    方法的多态

    Scala里方法可以通过类型实现参数化,类似泛型。

    def listOfDuplicates[A](x: A, length: Int): List[A] = {

      if (length < 1)

        Nil

      else

        x :: listOfDuplicates(x, length - 1)

    }

    println(listOfDuplicates[Int](3, 4))  // List(3, 3, 3, 3)

    println(listOfDuplicates("La", 8))  // List(La, La, La, La, La, La, La, La)

    好程序员大数据教程:http://www.goodprogrammer.org/bigdata.shtml

    相关文章

      网友评论

        本文标题:好程序员大数据教程Scala系列之方法的嵌套和方法多态

        本文链接:https://www.haomeiwen.com/subject/tneqmctx.html