본문 바로가기
Swift 개발 이야기

inout 에 대해 Araboza.swift

by 방화동한량 2020. 11. 17.
728x90

롱타임 노씨 Fellas 

 

오늘은 간단한 스위프트 문법에 대해 알아볼게여 바로 inout 인데여

 

기본적으로함수의 파라미터는 상수이고 바뀔수가 없죠 그래서 뭐 간단하게 계산을 하거나 할때는 return 을 통해 새로운 값을 내보내곤 합니다만

 

굳이굳이 그러고 싶지 않고 나는 파라미터 그 자체를 바꾸고싶고 새로운 결과값을 받고 싶지 않다라고 할때 쓰는 것이 바로 inout 입니당

 

뭐 가장 편한건 예제겠져? 

 

예제로 Arabobsida

 

let number = 5

func square(_ number: Int) -> Int {
    return number * number
}

let squared = square(number)

print(number) // 5
print(squared) // 25

 

간단하게 파라미터의 제곱을 구하는 함수를 만들어봐씀다

 

number 는 상수이기 때문에 5이고, 함수를 통해 새로 만든 결과가 25인 것을 확인할 수 있는데여

 

나는 떄려죽여도 number 가 25인것을 보고 싶다! 할때 inout 을 쓰면 됩니다

 

var number = 5

func square(_ number: inout Int) {
    number * number
}

square(number)

print(number) // 25

 

자 아주 간단하쥬? number 그 자체가 변하기 때문에 let 으로 선언하면 안됨미다

 

물론 저는 inout 보다는 새로운 값을 만드는걸 더 선호하긴 합니다만 그 값 자체를 꼭 바꿔야 하는 경우가 생길수 있겠죠? 그 때 사용해주시면 되게씀니다

 

그럼 우린 또 다음 시간에 만나요

 

안녕~~~