func funcName(){
print("아무개");
};
세미콜론은 임의로 붙여도 안 붙여도 됨. 난 붙이는 걸 좋아한다. 제대로 마무리 하는 느낌이 들어서다.
(1)함수 사용시 인자명을 명시적으로 사용할 경우
func funcName(param: String){
print(param);
};
funcName(param: "파라미터");
위처럼 param: String 타입의 매개변수를 넣을 경우 함수 사용 시 param: 처럼 명시적으로 매개변수명을 넣어야 한다.
(2)함수 사용시 매개변수명을 생략하고 싶은 경우
func funcName(_ param: String){
print(param);
};
funcName("파라미터");
위처럼 param: String 앞에 _(언더바)를 넣을 경우에는 함수 사용시 매개변수명 사용을 생략할 수 있다.
오히려 param:을 넣으면 지우라고 에러가 난다.
(3)함수 사용시 인자명을 가명으로 사용하게 할 경우
func funcName(paramName param: String){
print(param);
};
funcName(paramName: "파라미터");
함수 내에서 사용할 param이라는 이름의 함수명에 'paramName'이라는 이름을 붙여주면 함수 사용시 그 이름으로 인자를 넣게 된다.
(4)매개변수를 Optional로 사용할 경우
func funcName(paramName param: String?){
print(param);
};
타입 뒤에 ?를 넣는다. 빈 칸 떼지 않고 딱 붙여서 써야 한다.
이 경우 인자로 nil을 넣으면 Optional이기 때문에 nil값 그대로 출력이 된다.
?를 넣지 않으면 Optional이 아니기 때문에 nil을 넣으면 String 형태가 아니라고 에러가 나게 된다.