본문 바로가기

프로그래밍 언어/Swift

[Swift] 함수 Function

반응형
함수란? 

어떤 값에 따라 정해진 처리 과정을 거쳐 출력값을 변환하는 것입니다. 

 

함수의 목적

함수의 목적은 신규 명령어를 만들어 반복적인 코드 작업을 줄이기 위함이라 볼 수 있습니다. 

 

함수 정의와 호출
  1. 처리
  2. 입력과 처리
  3. 처리와 출력
  4. 입력과 처리와 출력

함수 정의와 호출은 다음과 같이 4단계로 나눌 수 있습니다. 

 

1. 처리만 존재할 경우 

func printGreeting() {
    print("Hello World")
}
// 함수를 호출, 함수 사용
printGreeting()

 

2-1. 입력과 처리 

func printGreetingTo(name:String){
    print("Hello", name)
}
printGreetingTo(name:"PPOMELO")
Hello PPOMELO

 

2-2. 입력과 처리 - 매개변수명을 생략하고 싶을 때

func printGreetingTo3(_ name:String){
    print("Hello", name)
}
printGreetingTo3("PPOMELO")
Hello PPOMELO

 

3. 처리와 출력

func sum(number1: Int, number2:Int) -> Int {
    return number1 + number2
}
var total = sum (number1: 200, number2: 34)
print(total)
234

 

4. 입력과 처리와 출력

정수 두개를 입력 받아서 두 정수의 사칙연산 결과를 반환하는 함수를 작성해서 결과를 출력하시오. 
print("정수를 입력하세요: ", terminator:"" )
var input = readLine()

print("정수를 입력하세요: ", terminator:"" )
var input2 = readLine()

func sum(number1: Int, number2:Int) -> Int {
    return number1 + number2
}
func sub(number1: Int, number2:Int) -> Int {
    return number1 - number2
}
func mul(number1: Int, number2:Int) -> Int {
    return number1 * number2
}
func div(number1: Int, number2:Int) -> Int {
    return number1 / number2
}

var input_num = Int(input!)!
var input_num2 = Int(input2!)!

print("\(input_num) + \(input_num2) = \(sum(number1: input_num, number2: input_num2))")
print("\(input_num) - \(input_num2) = \(sub(number1: input_num, number2: input_num2))")
print("\(input_num) * \(input_num2) = \(mul(number1: input_num, number2: input_num2))")
print("\(input_num) / \(input_num2) = \(div(number1: input_num, number2: input_num2))")
정수를 입력하세요: 4
정수를 입력하세요: 2
4 + 2 = 6
4 - 2 = 2
4 * 2 = 8
4 / 2 = 2

 

5. 매개변수

함수는 매개변수로 기본값을 가집니다. 따라서 매개변수가 여러개인 경우, 중간에 한개의 매개변수에 대해 기본값을 지정했다면  이후에 나오는 모든 매개변수에 대한 기본값을 지정해야 합니다. 

func sayHi(name:String="everyone"){
    print("Hi, "+name)
}
sayHi(name:"Apple")

func sayHiTo(students:String...){
    for student in students {
        print("Hi, "+student)
    }
}
sayHiTo(students: "Kiwi","Orange")
Hi, Apple
Hi, Kiwi
Hi, Orange
반응형

'프로그래밍 언어 > Swift' 카테고리의 다른 글

[Swift] 윤년 계산기  (0) 2019.07.05
[Swift] 현재 날짜 및 시간 출력하기 Date(), DateFormatter()  (0) 2019.07.05
[Swift] 튜플 tuple  (0) 2019.07.04
[Swift] 베이스볼 게임  (0) 2019.07.02
[Swift] 셋 Set  (0) 2019.07.01