swift 내 함수에서의 파라미터는 상수이므로, 함수 내에서 파라미터의 값을 변경하는 것은 불가능합니다. (실수로라도 파라미터의 값을 변경시킬 수 없습니다.) 하지만
In-out 파라미터
를 활용하면 함수 안에서 파라미터의 값을 변경하고, 함수 호출이 종료된 이후에도 변경된 값이 지속되게 됩니다.
ex)
💬 일반적인 함수를 만들었습니다.
func sayName(_ Name: String) {
print("안녕! 나는 \(Name)라고 해.")
}
sayName("몽이 누나")
>>> 안녕! 나는 몽이누나라고 해.
💬 여기에서 값을 임의로 변경하려 할 때, 파라미터가 상수이므로 변경할 수 없다는 경고창이 떴습니다.
💬 inout
을 자료형 앞에 적으면 값을 변경할 수 있습니다.
func sayHI2(_ Name: inout String) {
Name = "개발하는 " + Name
print("안녕! 나는 \(Name)라고 해.")
}
💬 값을 집어넣을 때는 파라미터 앞에 &
를 붙여야 합니다.
sayHI2(&name)
>>> 안녕! 나는 개발하는 몽이 누나라고 해.