본 내용은 '스위프트 프로그래밍' 책을 학습한 후 이를 바탕으로 작성한 글입니다.
func
이다. 함수의 기본 형태
func 함수이름(매개변수...) -> 반환타입 {
실행 구문
return 반환 값
}
return
키워드를 생략할 수 있다.func introduce(name: String) -> String {
"안녕하세요, 저의 이름은 " + name + "입니다."
}
//매개변수가 없는 경우
func helloWorld() -> String {
return "Hello, world!"
}
//매개변수가 여러 개인 경우
func sayHello(myName: String, yourName: String) -> String {
return "Hello \(yourName)! My name is \(myName)"
}
print(sayHello(myName: "zooneon", yourName: "Mike")) //Hello Mike! My name is zooneon
func 함수 이름(전달인자 레이블 매개변수 이름: 매개변수 타입, 전달인자 레이블 매개변수 이름:
매개변수 타입) -> 반환 타입 {
실행 구문
return 반환 값
}
func sayHello(from myName: String, to yourName: String) -> String {
return "Hello \(yourName)! My name is \(myName)"
}
print(sayHello(from: "zooneon", to: "Mike")) //Hello Mike! My name is zooneon
func sayHello(_ myName: String, _ yourName: String) -> String {
return "Hello \(yourName)! My name is \(myName)"
}
print(sayHello("zooneon", "Mike")) //Hello Mike! My name is zooneon
func sayHello(_ name: String, _ times: Int = 2) -> String {
var result: String = ""
for _ in 0..<times {
result += "Hello \(name)!" + " "
}
return result
}
print(sayHello("zooneon")) //Hello zooneon! Hello zooneon!
print(sayHello("zooneon", 3)) //Hello zooneon! Hello zooneon! Hello zooneon!
func deliciousFood(_ foods: String...) -> String {
var result: String = ""
for food in foods {
result += "I like \(food). "
}
return result
}
print(deliciousFood("pizza", "sushi", "steak")) //I like pizza. I like sushi. I like steak.
inout
매개변수로 전달될 변수 또는 상수 앞에 앰퍼샌드(&)를 붙여서 표현한다.var numbers: [Int] = [1, 2, 3]
func referenceParameter(_ arr: inout [Int]) {
arr[1] = 1
}
referenceParameter(&numbers)
print(numbers[1]) //1
Void
로 표기하거나 생략해도 된다.func helloWorld() {
print("Hello, world!")
}
helloWorld() //Hello, world!
(매개변수 타입의 나열) -> 반환 타입
typealias Sentence = (String, String, String) -> String
func sentenceFunction(_ a: String, _ b: String, _ c: String) -> String {
return a + b + c
}
var makeSentence: Sentence = sentenceFunction
print(makeSentence("I ", "love ", "sushi")) //I love sushi