Scala語言入門六(函數高級操作)

一、字符串高級操作

1、多行字符串

/**
 * @author Gjing
 **/
object StringApp {
  def main(args: Array[String]): Unit = {
    val s =
      """
        |這是一個多行字符串
        |這是一個多行字符串
        |""".stripMargin
    println(s)
  }
}

2、創建格式化字符串

String 類中你可以使用 printf() 方法來格式化字符串並輸出,String format() 方法可以返回 String 對象而不是 PrintStream 對象

/**
 * @author Gjing
 **/
object StringApp {
  def main(args: Array[String]): Unit = {
    val age = 10
    val name = "張三"
    printf("姓名: %s ,年齡: %d", name, age)
  }
}

當然也可以通過另外一種方式

/**
 * @author Gjing
 **/
object StringApp {
  def main(args: Array[String]): Unit = {
    val age = 10
    val name = "張三"
    println(s"姓名: $name,年齡: $age")
  }
}

二、匿名函數

Scala 中定義匿名函數的語法很簡單,箭頭左邊是參數列表,右邊是函數體。使用匿名函數後,我們的代碼變得更簡潔了

/**
 * @author Gjing
 **/
object FuncApp {
  def main(args: Array[String]): Unit = {
    // 給傳進來的值+1
    val add = (value: Int) => value + 1
    // 打印2
    println(add(1))
  }
}

三、高階函數

高階函數(Higher-Order Function)就是操作其他函數的函數。Scala 中允許使用高階函數, 高階函數可以使用其他函數作爲參數,或者使用函數作爲輸出結果

/**
 * @author Gjing
 **/
object FuncApp {
  def main(args: Array[String]): Unit = {
    val l = List(1, 2, 3, 4)
    l.map(x => x + 1).foreach(println(_))
    l.map(_ + 1).foreach(println(_))
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章