매개변수 inout

Updated:

🔷 inout


// 매개변수 name 을 받는 메소드
// _ 언더바를 넣어 메소드 호출시에 이름 안써도 됨
func sayName(_ name: String) {
	// 받은 매개 변수를 이용해 프린트로 출력
	print("Hi, This is \(name).")
}

sayName("Jacob") // Hi, This is Jacob.

// inout 은 매개별수로 넣는 것의 값을 바꾸는 것을 말함
// 원래 메소드에 매개변수로 들어오늘 값은 변경 할 수 없음
// inout 키워드를 이용하면 값 변경이 가능
func sayYourname(_ name : inout String) {
	name = "Developer " + name
	print("Hi! This is \(name) ")
}

// inout 메소드에 들어가는 값은 변경 가능해야 되기 때문에
// 메소드에 바로 값을 넣지 못하고 변수에 한번 값을 담은 다음에 뒤에 넣어야 됨
var name = "Jacob"
// inout 매개변수라고 해당 변수 앞에 &을 달아서 알려줌
sayYourname(&name) // Hi! This is Developer Jacob

// 이런방식으로 inout 을 자주 쓰는곳이 combine package 에서 자주 사용됨

Reference

꼼꼼한 재은 씨의 스위프트 문법편 - https://book.jacobko.info/#/book/1186710233

개발하는 정대리 스위프트 기초 문법 - 16일차 / 매개변수 inout - https://www.youtube.com/watch?v=8nPQKGrpbmY&list=PLgOlaPUIbynoqbQw_erl3L2w7vfOTCtFD&index=15

Categories:

Updated:

Leave a comment