Функции Swift с параметрами inout: примеры и использование

Вот несколько методов, которые можно использовать для создания функций Swift с параметрами inout, а также примеры кода:

  1. Метод 1:

    // Function with a single inout parameter
    func updateValue(inout value: Int) {
    value += 1
    }
    var num = 5
    updateValue(&num)
    print(num) // Output: 6
  2. Метод 2:

    // Function with multiple inout parameters
    func swapValues(inout a: Int, inout b: Int) {
    let temp = a
    a = b
    b = temp
    }
    var x = 10
    var y = 20
    swapValues(&x, &y)
    print(x, y) // Output: 20 10
  3. Метод 3:

    // Function with inout parameter and return value
    func doubleValue(inout value: Int) -> Int {
    value *= 2
    return value
    }
    var num = 3
    let result = doubleValue(&num)
    print(result) // Output: 6
  4. Метод 4:

    // Function with inout parameter and optional binding
    func incrementValue(inout value: Int?) {
    if var newValue = value {
        newValue += 1
        value = newValue
    }
    }
    var optionalNum: Int? = 5
    incrementValue(&optionalNum)
    print(optionalNum) // Output: Optional(6)
  5. Метод 5:

    // Function with inout parameter and custom object
    class Person {
    var name: String
    
    init(name: String) {
        self.name = name
    }
    }
    func changeName(inout person: Person, to newName: String) {
    person.name = newName
    }
    var john = Person(name: "John")
    changeName(&john, to: "Mike")
    print(john.name) // Output: Mike