簡體   English   中英

了解Scala語法

[英]Understanding Scala Syntax

我下面有代碼,我想知道Seq[String] = List()是什么意思? 這是否意味着它需要字符串序列並將其轉換為List()

def somefuncname(input: Seq[String] = List()): Unit = {
  //Some Code
}

首先嘗試了解以下函數簽名。

def somefuncname(input: Seq[String]): Unit = {
  //Some Code
}

上面的代碼是一個函數聲明。 它是一個函數,該函數接受1個稱為input參數,其類型為Seq[String] 這意味着它需要串的序列或列表作為輸入,並且沒有返回Unit

現在, =是什么意思?

=的輸入參數之后的=表示函數參數的default value 如果您不希望傳遞自定義的“字符串序列”,則可以依賴已傳遞的默認參數。

現在, List()是什么意思?

List()返回0個元素的序列或空序列。 這意味着函數將空元素作為默認參數

或者,您也可以將Seq()作為默認參數傳遞。 這也意味着空序列

def somefuncname(input: Seq[String] = Seq()): Unit = {
 //Some Code
}

現在以下列任何一種方式使用該功能

  1. somefuncname() //現在input為空字符串序列

  2. somefuncname(Seq("apple", "cat"))

  3. somefuncname(List("apple", "cat"))

輸入類型為Seq [String],其默認值為空列表(List())。 擁有默認值意味着,如果您在不傳遞參數的情況下調用該函數,它將獲得默認值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM