Возможно ли объявить параметр функции в переменную?

Пытаюсь создать функцию в которой параметр объявляется переменной, а не константой Это возможно?

func desArray (array: [Int]) {
    var i = 0
    let arrayCount = array.count
    
    while i < arrayCount {
        print(array)
        array.remove(at: 0)
        i = i + 1
    }
}

Ответы (1 шт):

Автор решения: NSA-bot

Думаю, что невозможно (но это не 100 %). У вас есть 2 варианта:

  1. Объявить внутри функции переменную с типом массива и присвоить ей входящий массив.
  2. Или можно передать массив в функцию, как сквозную переменную (добавив слово inout). При вызове функции добавлять знак амперсанда к имени переменной с массивом. Вот так:
var test = [1,2,3,4,5,6]

func desArray (array: inout [Int]) { // inout
  var i = 0
  let arrayCount = array.count
  
  while i < arrayCount {
    print(array)
    array.remove(at: 0)
    i = i + 1
  }
}

desArray(array: &test) // амперсанд перед test
→ Ссылка