В языке программирования Kotlin значение varargs с точки зрения использования

Дайте мне знать, какова важность варгаров в Котлине, если есть какой-либо документ или некоторые полезные ссылки. Поделись, пожалуйста.

Параметры vararg позволяют выполнять функции, которые принимают переменное количество аргументов естественным образом, т. vararg Не создавая сначала массив или коллекцию, заполняя его элементами и только затем передавая его, сравните:

Если параметров vararg не vararg :

 val items = ArrayList<String>().apply { add("foo"); add("bar"); add("baz") } qux(items) 

С vararg :

 qux("foo", "bar", "baz") 

Это особенно полезно для инициализации коллекций и других контейнеров, а для kotlin-stdlib существует множество функций, таких как arrayOf(...) , listOf(...) , setOf(...) , mapOf(...) , sequenceOf(...) и более.

Чтобы увидеть использование в kotlin-stdlib , найдите слово «vararg» на страницах ссылок API (в пакетах kotlin.collections , kotlin.text ) много.

В принципе, если есть функция, принимающая коллекцию, которую пользователь может часто вызывать только с несколькими элементами (и выбирать элементы непосредственно перед вызовом), имеет смысл обеспечить перегрузку vararg для этой функции.

Intereting Posts
Это применимо для написания драйвера JDBC в Котлине? Что такое простой способ конвертировать динамически объекты Kotlin / Js в простой объект javascript? Котлин дважды проверяет нуль, если еще Статические переменные в Котлине по-прежнему являются частью экземпляров объектов Как получить массив строк ResultSet? Этот тип имеет конструктор и должен быть инициализирован здесь – Kotlin Могу ли я использовать имя лямбда в качестве параметра, переданного «вне круглых скобок»? Kotlin: Почему унарный плюс / минус не способен вывести общий тип из назначения? Ошибка Adobe flashplayer или HTML5 Browser с поддержкой WebGL или CSS3D, необходимой для виртуального тура в Android Только первый тест проходит с TestScheduler при запуске нескольких тестов (Kotlin) Дублирующие элементы в наборе Firebase Admin SDK не может подключаться к базе данных из внутреннего файла jar Делегирование конструктора Котлина во внутренний класс данных? Котлин – Джексон игнорирует нулевые значения Получить ответ JSON от запроса POST rxjava / retrofit