작업의 가장 작은 단위이자 코드의 집합
func 함수명(파라미터 이름: 데이터 타입) -> 반환 타입 {
return 반환값
}
//func 함수명(파라미터 이름: 데이터 타입) -> 반환 타입 {
// return 반환값
//}
func sum(a: Int, b : Int) -> Int {
return a+b
}
sum(a: 5, b: 3) // 8
// parameter가 없을 경우
func hello() -> String {
return "hello"
}
hello() // "hello"
// Return 값이 없을 경우
func printName() {
}
func greeting(friend: String, me: String = "Daeseong"){
print("Hello, \(friend)! I'm \(me)")
}
greeting(friend: "Somin") // Hello, Somin! I'm Daeseong
// 전달인자 label을 사용하는 방법
func sendMessage(from myName : String, to name : String) -> String {
return "Hello \(name)! I'm \(myName)"
}
sendMessage(from: "Daeseong", to: "Somin") // "Hello Somin! I'm Daeseong"
// 전달인자 Label을 사용하지 않을때(_키워드 활용)
func sendMessage2(_ name : String) -> String {
return "Hello \(name)"
}
sendMessage2("daeseong") // "Hello daeseong"
// 가변 매개변수 (매개변수... 키워드 활용) -> 배열 형태로 받게 된다.
func sendMessage3(me : String, friends: String...) -> String {
return "Hello \(friends)! I'm \(me)"
}
sendMessage3(me: "daeseong", friends: "Somin", "KkaKka") // "Hello ["Somin", "KkaKka"]! I'm daeseong"