繁体   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