반응형
함수는 어느 언어에나 존재한다. 단지 그 문법이 다를뿐 매커니즘은 같다.
함수 사용법
아래 코드는 함수의 사용법을 정리한 것이다.
func 함수이름(매개변수 이름 : 매개변수 타입, 매개변수 이름 : 매배변수 타입 ) -> 반환타입 {
return 반환값
}
// 일반적인 매개변수 2개와 Int형 반환 func
func sum(a:Int, b:Int) -> Int{
return a + b ;
}
// 반환값이 없는 함수
// 반환값이 없는 경우 Void를 쓴다.
func print(a:Int, b:Int) -> Void{
print(a+b);
}
// 매개변수가 없는 경우
func print() -> Int{
return Int.max;
}
//매개변수와 반환값이 없는경우
func hello() -> Void{
print("Hello");
}
//호출
sum(a:10, b:20);
hello();
보면서 느낀게 함수인 부분은 약간 불편(?)하다라고 생각된다 (아직은)
그 느낌을 받게된 이유는 매개변수명 때문인데, 일반적으로 java는 매개변수명을 함수를 호출할 때 사용하지 않는다.
테스트를 해봤는데 함수어 선언된 매개변수명을 똑같이! 작성해줘야 함수가 정상적으로 호출된다.
즉 지금은 sum이라는 함수의 매개변수를 a, b로 했는데 개발하면서 작성된 변수의 명을 하나하나 쳐줘야 하니 조금 불편하지 않을까 ...? ( 지금은 호조비라 이런생각 할지도.. )
[ Swift 함수 ]
func sum(num1 : Int, num2 :Int) ->Int {
return num1 + num2;
}
sum(num1 : 10, num2 : 20);
[ JAVA 함수 ]
public int sum(int num1, num2){
return num1 + num2;
}
sum(10,20);
함수의 기본 값.
age의 기본값을 10으로 지정하면 별도의 입력값이 없을 경우 10으로 처리된다.
func printName(name:String, age:Int = 10){
print("나의 이름은\(name) 이고 나이는 \(age)입니다");
}
반응형
'Develop > Swift' 카테고리의 다른 글
Swift 컬렉션 타입 ( Array, Dictionary, Set) (0) | 2019.05.07 |
---|---|
Swift Any, AnyObject, nil (0) | 2019.05.07 |
Swift 상수와 변수의 선언, 데이터 타입 (0) | 2019.05.07 |
Swift 콘솔로그, 문자열 보간법 (0) | 2019.05.07 |