스위프트에서의 함수를 공부해보자:)
dqQQQ
·2023. 11. 28. 20:10
개요
메서드는 구조체나 클래스, 열거형등 다른 자료형에서 사용하는 함수를 메서드, 모듈 전체에서 사용할 수 있는 것을 함수라고 한다.
하는 역할은 같은 것이다.
함수
함수란 특정한 일을 수행하기 위한 코드들의 덩어리라고 할 수 있다.
이 덩어리에 이름을 붙여서 코드들을 실행한다.
func 함수이름(매개변수...) -> 리턴형 {
코드
return 리턴값
}
위와 같은 형태로 선언한다.
매개변수와 리턴형을 생략할 수 있다. c언어 함수에서 void형과 같이 사용이 가능한듯하다.
함수 기본
func hi(person: String) -> String {
return "hi, " + person
}
print(hi(person: "kyujin"))
함수 파라메터 생략
func hi() -> String {
return "hi, kyujin"
}
print(hi())
함수 파라메터 여러개
func hi(person1: String, person2: String) -> String {
return "hi, " + person1 + person2
}
print(hi(person1: "kyujin", person2: "42seoul"))
함수 리턴값 생략
func hi() {
print("hi, kyujin")
}
hi()
함수 리턴값 여러개
func minMax(array: [Int]) -> (min: Int, max: Int) {
return (min, max)
}
var change = minMax(array: [1, 2])
print("max is \(change.min)")
함수 가변매개변수
func hi(person1: String, person2: String...){
//코드
}
함수 라벨 생략
함수를 호출할 때 라벨링을 하고싶지 않다면 함수 선언에서 _
를 붙이면된다.
func hi(_ person1: String, person2: String...){
//코드
}
hi ("kyujin", person2: "42seoul")
함수 포인터 매개변수
inout
키워드를 사용하면 call by reference가 된다.
func swap(_ num1: inout String, _ num2: inout String){
let tmp = num1
num1 = num2
num2 = tmp
}
var num1 = 10
var num2 = 20
swap(&num1, &num2)
비반환
func crash() -> Never {
fatalError("Error")
}
반환값 미사용
@discardableResult func crash() -> String {
return "Error"
}
crash()
'Swift' 카테고리의 다른 글
스위프트에서의 프로퍼티를 공부해보자:) (0) | 2023.11.28 |
---|---|
스위프트에서의 옵셔널을 공부해보자:) (0) | 2023.11.28 |
스위프트에서의 연산자를 공부해보자:) (0) | 2023.11.28 |
스위프트에서의 조건문과 반복문을 공부해보자:) (0) | 2023.11.28 |
스위프트에서의 자료형을 공부해보자:) (0) | 2023.11.28 |