iOS_Swift/2022_Summer

Swift - func (함수)

chozjjae 2022. 7. 20. 21:55

함수란 ? 

작업의 가장 작은 단위, 코드의 집합을 의미합니다.

 

함수는 같은 작업을 반복할 때 주로 사용하며, 하나의 기능은 하나의 함수로 활용해 주는 것이 좋습니다.

 

매개변수 = parameter(파라미터)란 ? 

함수 내에서 사용되는 하나의 변수 또는 상수라고 생각하시면 편합니다.


6가지의 함수 타입

1. 함수의 기본타입

2. 매개변수가 없는 함수

3. 매개변수, 리턴형 모두 없는 함수

4. 매개변수에 초깃값 (기본값) 넣어주기

5. 전달인자 레이블 : 외부매개변수, 내부매개변수

6. _ 를 이용한 외부 매개변수 생략

7. ...을 이용한 가변 매개변수


 

1. 함수의 기본 타입

func 함수명(파라미터 이름 : 데이터 타입) -> 리턴 타입{
	return 반환 값
}

func sum(x:Int, y:Int) -> Int{ //가장 기본적인 함수
    return x+y  //x,y와 같은 매개변수가 존재한다
}
print(sum(x: 1, y: 2)) //3
print(type(of: sum))


2. 매개변수가 없는 함수

func hello() -> String{
    return "Hi my name is 조스타"
}
print(hello())


3. 매개변수, 리턴형 모두 없는 함수

func Miss() -> Void{
    
}


4. 매개변수에 초깃값(기본값) 넣어주기

//name에 기본값을 cho로 넣어주었습니다.

func cho(name:String = "cho", age:Int) -> String{
    return "저의 이름은 \(name)입니다. 나이는 : \(age) 입니다."
}
print(cho(age: 25))
print(cho(name: "조스타", age: 30))


5. 전달인자 레이블, 내부매개변수, 외부매개변수

func Message(from myName : String, to name : String) -> String{
    return "Hello \(name), I'm \(myName)"
    //함수 내에서 사용 - 내부 매개변수
}
print(Message(from: "kim", to: "cho"))
//함수 밖에서 호출 - 외부 매개변수


6. _를 이용한 외부 매개변수 생략

//_를 이용한 외부 매개변수 생략
func man(_ name : String, age aaa : Int) -> String{
    return ("이름 : \(name), 나이 : \(aaa)")
}
//외부 매개변수는 name 없이 바로 저장 시키고 출력한다
print(man("chozsta", age: 20))


7. ...을 이용한 가변 매개변수

가변 매개변수 (...) 안에 있다면 배열로 받아온다.

func cho(friends : String...) -> String{
    return "\(friends)"
}
print(cho(friends: "chozsta", "kim", "ko", "kang","hwng"))

//가변 매개변수 안에 있다면 배열로 받아올 수 있다.