inblog logo
|
RN 삽질 일지

    [ Swift ] 함수

    스위프트 함수 사용법
    김보람's avatar
    김보람
    Sep 30, 2024
    [ Swift ] 함수
    Contents
    [ 함수 기본 ][ 함수 고급 ]

    [ 함수 기본 ]

    • 함수의 기본 형태

      //기본형태
      func 함수이름 (매개변수: 변수타입) -> 반환타입 {
          함수 구현부
          retun 반환값
      }
      
      func getName (firstName:String, lastName:String) -> String {
          return firstName + lastName
      }
      
    • 반환값이 없는경우

      //리턴하는 값이 없는경우
      func 함수이름 (매개변수: 변수타입) -> Void {
          함수 구현부
          reutn 반환값
      }
      
      func sum (a:Int, b:Int) -> Void {
          print(a+b)
      }
      
      // 리턴값이 없는경우 반환타입의 생략이 가능하다
      func sum (a:Int, b:Int) {
          print(a+b)
      }
    • 매개변수가 없는경우

      //매개변수가 없는 경우
      func 함수이름 () -> 반환타입 {
          함수구현부
          return 반환값
      }
      
      func maximumIntegerValue() -> Int {
          return Int.max
      }
    • 매개변수와 반환값 모두가 없는경우

      func 함수이름 () -> Void {
          함수 구현부
          return
      }
      
      func hello () -> Void {
          print("Hello")
      }
      
      // 반환값이 없는경우 반환타입 생략가능
      func hello () {
          print("Hello")
      }


    [ 함수 고급 ]

    • 매개변수 기본값

      • 매개변수가 들어오지 않을경우 디폴트로 설정해둘 수 있음

        func 함수이름 (매개변수명: 매개변수 타입 = 디폴트값) -> 반환타입 {
            함구구현부
            return
        }
        
        func getName (name:String = "철수") -> Void {
            print(name)
        }
        
        getName() //철수 출력
        getName(name:"영희") //영희 출력
    • 전달인자 레이블

      • 함수를 호출할때 인자를 좀 더 명확하게 알 수 있도록 하기위해 사용한다

        //기본적으로 아래의 형태를 가진다
        func 함수이름(아규먼트레이블 파라미터이름: 파라미터타입) {
            // 함수 내부 코드
        }
        
        
        //만약 아래의 경우
        func move(start: String, end: String) {
            print("Moving from \(start) to \(end)")
        }
        
        //이와같이 호출하게 되는데
        move(start: "Seoul", end: "New York")
        
        // 이때 start와 end만 보고서는 내용 자체를 이해하기 어렵다 사작하고 끝내는건지
        // 오고가는건지등등 호출 구문에서 좀 더 명확하게 알기위해 아래와 같이 수정할 수 있다.
        
        func move(from start: String, to end: String) {
            print("Moving from \(start) to \(end)")
        }
        
        move(from: "Seoul", to: "New York")
        
        // 이처럼 사용하면 from이 출발지를 to가 목적지를 의미한다는것을 좀 더 명확히 알 수 있다
      • 주의점은 호출시 사용하는 이름과 함수 구현부에서 사용하는 이름이 다르다는 점을 인지하자

    • 가변 매개변수

      • 전달되는 인자의 수가 명확하지 않을때 사용할 수 있다

      • 아래와 같은 형태를 가진다

        func 함수이름(파라미터명: 파라미터타입...) {
            // 함수 본문
        }
      • 함수당 하나만 가질 수 있고 맨뒤쪽에 작성하는것을 권장한다

      • 함수내에서는 배열로 처리된다

        func sumOfNumbers(numbers: Int...) -> Int {
            print(numbers) // 출력[1, 2, 3, 4, 5]
            var sum = 0
            for number in numbers {
                sum += number
            }
            return sum
        }
        
        let result = sumOfNumbers(numbers: 1, 2, 3, 4, 5)
        print(result) // 출력: 15
      • 주의점은 매개변수를 가지는 함수는 그 자체로 변수에 할당할 수 없다는 점이다

    Share article
    Contents
    [ 함수 기본 ][ 함수 고급 ]

    김보람 | 930802qhfka@gmail.com

    RSS·Powered by Inblog