Сначала попытайтесь понять подпись функции ниже.
def somefuncname(input: Seq[String]): Unit = {
//Some Code
}
Приведенный выше код является объявлением функции. Это функция, которая принимает 1 аргумент с именем input
, который имеет тип Seq[String]
. Это означает, что он принимает последовательность или список строк в качестве входных данных и ничего не возвращает Unit
Теперь, что означает =
? 1010 *
=
после входного аргумента функции означает 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"))