Scala语言入门五(函数)

Scala函数的使用

1、定义

def 方法名(参数名: 参数类型): 返回值类型 = {//方法体}

/**
 * @author Gjing
 **/
object Test {

  def main(args: Array[String]): Unit = {
    sayHello("Hello")
  }

  def sayHello(text: String):Unit = {
    println(text)
  }
}

如果你不写等于号和方法主体,那么方法会被隐式声明为抽象(abstract),包含它的类型于是也是一个抽象类型。

2、默认值

调用方法时如果为传参,则会使用默认值

/**
 * @author Gjing
 **/
object Test {

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

  def sayWorld(text: String = "World"):Unit = println(text)
}

3、命名参数

可通过参数名指定你当前设置的值是哪一个参数

/**
 * @author Gjing
 **/
object Test {

  def main(args: Array[String]): Unit = {
    nameTest(text1 = "hello",text2 = "world")
  }

  def nameTest(text1: String, text2:String): Unit = {
    println(text1, text2)
  }
}

4、可变参数

不限制参数的数量,如Java1.5出现的...

/**
 * @author Gjing
 **/
object Test {

  def main(args: Array[String]): Unit = {
    varTest(1,2,3,4)
  }

  def varTest(a: Int*):Unit = println(a)
}

5、条件表达式

和java类似

object Test {
  
  def main(args: Array[String]): Unit = {
    if (1 == 1) println(true) else println(false)
  }
}

6、循环表达式

在循环时很多时候会用到区间,scala提供了两种方式,分别为tountil, to关键字会包含右边的值,比如1 to 10,此时循环输出会是1-10;until不包含, 循环输出会是1-9

a、while

运行一系列语句,如果条件为true,会重复运行,直到条件变为false

object Test {
   def main(args: Array[String]) {
      // 局部变量
      var a = 10;

      // while 循环执行
      while( a < 20 ){
         println( "Value of a: " + a );
         a = a + 1;
      }
   }
}

b、for

用来重复执行一系列语句直到达成特定条件达成,一般通过在每次循环完成后增加计数器的值来实现

object Test {
   def main(args: Array[String]) {
      // for 循环
      for( a <- 1 to 10){
         println( "Value of a: " + a );
      }
   }
}

c、do while

条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次

object Test {
   def main(args: Array[String]) {
      // 局部变量
      var a = 10;

      // do 循环
      do{
         println( "Value of a: " + a );
         a = a + 1;
      }while( a < 20 )
   }
}
上一篇:Docker安装ElasticSearch和Elasticsearch-Head以及IK分词器


下一篇:Docker安装Gitlab和Gitlab-Runner并实现项目的CICD