Ответ 1
С точки зрения языка переменные, объявленные в объявлении деструктурирования, являются отдельными независимыми переменными, и в настоящее время Kotlin не предоставляет способ присвоить несколько переменных в одном выражении.
Вы можете снова разрушить свое выражение и назначить переменные по очереди:
var (start, end) = startEndDate(198502)
val (newStart, newEnd) = startEndDate(200137)
start = newStart
end = newEnd
Если вам нужно показать, что эти две переменные имеют какое-то особое значение и должны быть назначены вместе, вы можете объявить локальную функцию, которая переназначает их следующим образом:
var (start, end) = startEndDate(198502)
fun setStartEnd(pair: Pair<SomeType, SomeType>) { start = pair.first; end = pair.second }
setStartEnd(startEndDate(200137))