Adblock_detected

AdBlock을 사용중이시네요..

index.html

스위프트 함수

[CODE/SWIFT]

코딩을 할 때 비슷한 것을 여러번 반복할 때 함수를 사용하죠?

오늘은 스위프트 에서 함수를 선언하고, 사용하는 법에 대해 알아보겠습니다.


먼저 선언하는 법에 대해 알아볼까요?

func greet(name: String) -> String {
    return "Hello " + String(name)
}

보시다시피 "func" 뒤에 함수 이름을 쓰고, 괄호 안에 입력받는 변수의 변수명: 변수타입,

그리고, -> 뒤에 함수의 출력 타입을 써서 선언합니다.

(출력값이 업는 void 형식 함수일 때에는 -> String 부분을 지워주시면 됩니다.)


여기까진 다른 언어들과 크게 다르지 않죠?

이제 실행하는 방법을 봅시다.

print(greet(name: "Dave"))

결과 :

Dave


자, 평소에 보던 프로그래밍 언어들과 좀 다르죠?

스위프트 에서는 함수를 사용할때, 선언할 때 사용한 변수명을 같이 붙여줘야 한답니다.

print(greet(a: "Steve"))
print(greet("Steve"))

결과 :

error: incorrect argument labels in call (have 'a:', expected 'name:')

print(adder(a: "Steve"))


이렇게 선언할 때와 다른 변수명을 사용하거나, 변수명을 붙여주지 않으면 에러가 납니다.

그럼 외부에서 다른 변수명을 사용하고 싶으면 어떻게 해야 할까요?

func greet(a name: String) -> String {
    return "Hello " + String(name)
}

이렇게 변수명 앞에 외부에서 사용할 이름을 한칸 띄고 붙여주면 됩니다.

print(greet(a: "Steve"))

결과 : 

Hello Steve


이 경우엔 보시다시피 내부에선 "name" 이라는 이름으로, 외부에선 "a" 라는 이름으로 사용합니다.

그럼 변수명을 아예 쓰지 않으려면 어떻게 해야 할까요?

func greet(_ name: String) -> String {
    return "Hello " + String(name)
}

외부 이름을 붙이는 부분에 "_" 를 붙여 주시면 됩니다.

print(greet("Jobs"))

결과 :

Hello Jobs


여기까지 기본적인 함수 사용법에 대해 알아 보았는데요,

도움이 되셨길 바라며 마치겠습니다.


1 ··· 16 17 18 19 20 21 22 23 24 ··· 43