함수란 특정한 기능을 수행하는 코드의 묶음이고, 입력과 출력이 있을 수 있다.
함수는 func라는 키워드를 이용해서 시작한다. func라는 키워드 뒤에 함수의 이름을 적어주면 되는데 주의할 점은 시작을 소문자로 해줘야 한다.
함수는 두단계로 실행되는데 처음에 정의를 해놓고 호출이나 실행을 할 때는
함수 이름에 ()를 붙여주면 된다.

func sayHello() {
	print("안녕하세요")
}

sayHello()

함수에 인풋이 있는 경우

파라미터(매개변수/인자): 함수 내에서 입력값으로 이용되는 변수(상수)의 이름이다. 아래 함수에서는 (name: string)이 파라미터이다.
가변 파라미터를 이용해서 여러가지 값을 넣어줄 수도 있다.

func sayHello(**name: string**) {		
	print("안녕하세요 \(name) 님")
}
sayHello(name: "Han")

func plusNum(nums:Int..., num: 6) -> Int {
}

함수에 아웃풋이 있는 경우

아웃풋이 있을 때는 return 키워드를 사용해서 값을 반환해 줘야 한다.

func sayHello() -> string {
	return "안녕하세요"
}
print(sayHello())

함수에 인풋과 아웃풋이 모두 있는 경우

아규먼트(인수): 함수의 호출에 이용되는 실제 값이다. 아래 함수에서는 7과 5가 아규먼트이다.

func plusSomething(a: Int, b: Int) -> Int {
	var c = a * b
    return c
}
print(plusFunction(a: 7, b: 5)) 

함수의 기본값을 설정해 놓을 수도 있는데 기본값을 설정하면 값을 따로 설정하지 않는 이상 기본값으로 출력하게 된다.

func func plusSomething(a: Int, b: 5) {
	print(a + b)
}
plusSomething(a: 3)		-> a값만 입력해주면 b값에 자동으로 5가 입력된다. 
							b값을 변경해주고 싶으면 새로 입력해주면 된다.

아규먼트 레이블

아규먼트 레이블은 함수를 사용할 때 무엇을 요구하는지 명확하게 알려줄 수 있다.
요구하는 것이 명확할 경우 생략해서 나타 낼 수도 있다.
' _ '를 이용해 생략할 수 있지만 파라미터는 생략이 불가능하다. 아규먼트 레이블을 생략하는 것을 와일드카드 패턴 이라고 한다.

func plusSomething(first a: Int, second b: Int) {
	print(first + second)
}
plusSomething(first: 1, second: 2)

아규먼트 레이블을 생략할 경우
func plusSomething(_ a: Int, _ b: Int) {
	print(a + b)
}
plusSomething(1, 2)
profile
비전공자 iOS 개발 공부

0개의 댓글