[英]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
}
現在以下列任何一種方式使用該功能
somefuncname()
//現在input
為空字符串序列
somefuncname(Seq("apple", "cat"))
somefuncname(List("apple", "cat"))
輸入類型為Seq [String],其默認值為空列表(List())。 擁有默認值意味着,如果您在不傳遞參數的情況下調用該函數,它將獲得默認值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.