함수란 가장 작은 작업의 단위이자 코드의 집합이다.
리턴 값이 있다면 반환 타입을 꼭 써줘야 한다
func 함수 이름(파리미터 이름: 데이터 타입) -> 반환 타입 {
return 반환값
}
입력한 스트링값을 출력해주는 함수를 구현해보자
func printName(name: String) {
print("\(name)")
}
printName(name: hello) //결과는 hello가 출력된다.
전달인자 레이블은 함수에서 사용하는 것이다. 매개변수 이름 앞에 두는 것 인데 매개변수의 역할을 명확히 알 수 있다. 또 함수 오버로딩도 가능합니다. 전달인자 레이블이 다르면 함수의 이름이 달라진다.
func Message(to name: String, from who:String) {
print("\(who)로부터 \(name)에게")
}
Message(to: "jinwoo", from: "curry") //커리로부터 진우에게
name, from이란 매개변수를 사용하는 것 보다 전달인자레이블을 사용하는 것이 역할을 쉽게 알 수 있다.
와일드 카드 패턴은 전달인자 레이블 대신 사용하는 것이다. 와일드카드가 위치한 곳의 값은 무시한다.
func sum(_ a:Int , _ b:Int) -> Int {
return a+b
}
print(sum(1,2))
매개변수에 값이 여러개의 값을 사용할때 사용한다. 함수에 하나씩만 사용 가능하다. 가변매개변수에 값들은 배열로서 사용 가능하다.
func printSome( printstring:String...) {
print("\(printstring)")
}
printSome(printstring: "abc","def")