Swift 반복문과 함수

반복문이란?

swift-loop-function
  • 반복문이란 반복적으로 코드가 실행되게 만드는 구문을 말한다.
  • 스위프트에는 while 문과 for-in 문이 대표적이다.

while 문

  • while 문의 문법은 다음과 같고,
  • 해당 조건이 참일 경우에만 코드가 반복해서 실행된다.
while 조건
{
	//실행 코드
}

while 문 예제

//실습 구구단
    
var dan:Int = 3
var gugu:Int = 1
    
while gugu < 10
{
    var value = gugu * dan
    print("3 x \(gugu) = \(value)")
    gugu = gugu + 1
}
    
    
    
//실습 삼각수
    
var inputValue:Int = 15
var totalNum:Int = 0
    
while inputValue > 0
{
    totalNum = totalNum + inputValue
    inputValue = inputValue - 1
}
    
print(totalNum)
    
    
    
//실습 삼각수
    
var inputValue:Int = 14
var totalNum:Int = 0
    
totalNum = inputValue * (inputValue + 1) / 2
    
print(totalNum)

for-in 문과 범위 연산자

  • for-in 문을 알아보기에 앞서 범위 연산자에 대해서 알아보자.
  • 범위 연산자는 a...b 또는 a..<b 으로 표현된다.
  • 첫 번째는 a~b까지 정수형 숫자를 의미하고,
  • 두 번째는 a~b-1까지 정수형 숫자를 의미한다.
  • 스위프트에서는 다른 언어에서는 흔히 사용되는 for문 대신, for-in 문을 사용한다.
  • 문법이 다음과 같다.
for element in sequenceData
{
	//실행 코드
}

for-in 문 예제

// 실습 구구단
    
for gugu in 1...9
{
    for dan in 1...9
    {
        print("\(gugu) x \(dan) = \(gugu*dan)")
    }
    print()
}

스위프트 함수?

  • 함수는 작은 단위의 프로그램 즉, 명령문의 묶음이다.
  • 프로그래밍에서 함수를 사용하는 이유는 간단하다.
  • 코드 재사용으로 인해 시간, 메모리 공간, 크기를 절약 할 수 있고,
  • 가독성 및 유지보수가 우수하기 때문이다.

스위프트 함수의 구조와 문법

  • 함수의 구조는 다음과 같다.
swift-loop-function
  • 함수의 문법은 다음과 같습니다.
func fName(paramName:type) -> type 
{
	//실행될 명령어 작성 return 반환값
}

스위프트 함수 예제

// 덧셈
    
func add(num1:Int, num2:Int) -> Int
{
    return num1 + num2
}
    
print(add(num1:2, num2:3))
    
    
    
// 나눗셈
    
func divide(num1:Int, num2:Int) -> String
{
    if num2 == 0
    {
        return "num2에 0이외의 값을 넣어주세요"
    } else
    {
        return "\(num1 / num2)"
    }
}
    
print(divide(num1:10, num2:3))
print()
    
    
    
//Square & Rectangle & Cube
    
func sagac(what:String, width: Int, height: Int = 2) -> Int
{
    var returnValue:Int = 0
    
    if what == "square"
    {
        returnValue = width * width
        return returnValue
    } else if what == "rectangle"
    {
        returnValue = width * height
        return returnValue
    } else if what == "cube"
    {
        returnValue = width * width * width
        return returnValue
    } else
    {
        print("try another shape")
        return returnValue
    }
}
    
print(sagac(what: "cube", width: 2))
    
    
    
///Circular Cylineder & Sphere & Cone
    
func cirhecone(what: String, r: Double, h: Double = 2.0) -> Double
{
    var returnValue:Double = 0
    
    if what == "circular"
    {
        returnValue = 3.141592 * r * r * h
        return returnValue
    } else if what == "sphere"
    {
        returnValue = 3.141592 * (4/3) * r * r * r
        return returnValue
    } else if what == "cone"
    {
        returnValue = (1/3) * 3.141592 * r * r * h
        return returnValue
    } else
    {
        print("try another shape")
        return returnValue
    }
}
    
print(cirhecone(what: "sphere", r: 4))