Swift - 함수 기본

2022. 9. 16. 16:00·Study/Swift
728x90
반응형

Swift에서의 함수는 Kotlin과 Java를 섞어놓은 듯한 모습이라고 생각한다.

 

파라미터를 나열할 때, 이름 : 자료형 방식으로 작성하는 부분이 있기도 하고, 리턴이 없는 함수는 Void라는 키워드가 들어가기도 한다.

 

파라미터가 없는 함수는 JavaScript 분위기가 나기도 한다.

 

1. 함수 선언의 기본 형태

func 함수이름 (파라미터 이름: 파라미터 타입) -> 리턴타입 {
	//함수 구현
	return 리턴 값
}

 

2. 반환 값이 없는 함수

func 함수이름(파라미터 이름: 파라미터 타입) -> Void {
	//함수 구현
    return //아예 생략이 가능하다
}

func 함수이름(파라미터 이름: 파라미터 타입) {
	//함수 구현
}
//Void도 생략이 가능하다

 

3. 매개변수가 없는 함수

func 함수 이름() -> 리턴타입 {
	//함수 구현
    return 리턴값
}

//함수 이름뒤의 ()안에 Void조차 작성하지 않아도 된다

//... XCode에서 작성해보니 Void를 ()안에 작성하게 되면
//Unnamed parameters must be written with the empty name '_'라는 컴파일 에러가 발생한다.

//이 에러를 수정하면 아래처럼 작성할 수 있겠다
func 함수 이름(_: Void) -> Void {
	//함수 구현
	return 리턴값
}

 

4. 파라미터와 리턴 값이 없는 경우

func 함수 이름() -> Void {
    //함수 구현
    return
}

//함수 구현이 짧은 경우 가독성을 해치지 않는 범위에서 줄바꿈없이 한 줄에 표현해도 괜찮다고 한다
func hello() -> Void { print("hello") }


//리턴 값이 없는 경우, 리턴 타입(Void)을 생략해 줄 수 있습니다
func 함수이름() {
    //함수 구현
    return
}

//return까지 생략하면..
func bye() { print("bye") }

 

5. 함수의 호출

함수 이름(파라미터 이름: 값)

함수 이름()
728x90
반응형
저작자표시 (새창열림)

'Study > Swift' 카테고리의 다른 글

Swift - 조건문(if-else, switch)  (2) 2022.09.20
Swift - 함수 고급  (0) 2022.09.17
Swift - 컬렉션 타입(Collection Type) - Array, Dictionary, Set  (0) 2022.09.15
Swift - Any, AnyObject, nil  (0) 2022.09.14
Swift - 기본 데이터 타입  (0) 2022.09.13
'Study/Swift' 카테고리의 다른 글
  • Swift - 조건문(if-else, switch)
  • Swift - 함수 고급
  • Swift - 컬렉션 타입(Collection Type) - Array, Dictionary, Set
  • Swift - Any, AnyObject, nil
BonusTrack02.dev
BonusTrack02.dev
공부, 일상
  • BonusTrack02.dev
    BonusTrack02.dev
    BonusTrack02.dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (237)
      • Dev experience (85)
        • Android (84)
        • Kotlin (1)
      • Study (62)
        • Kotlin (26)
        • Swift (17)
        • Java (19)
      • 프로그래머스 (68)
      • 주저리주저리 (22)
        • 카페 (5)
        • 음식점 (4)
        • 컨퍼런스 (1)
        • 팝업스토어 (4)
        • 전시회 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    programmers
    ios
    안드로이드
    티스토리챌린지
    프로그래머스
    SWIFT
    room
    스위프트
    Material
    CodeLab
    자바
    코틀린
    databinding
    Observer
    viewModelScope
    MVVM
    android
    배열
    PCCE
    getNumericValue
    ViewModel
    LiveData
    Kotlin
    coroutines
    aac
    Java
    jetpack
    daterangepicker
    코루틴
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
BonusTrack02.dev
Swift - 함수 기본
상단으로

티스토리툴바