import UIKit
import Foundation

print("--- While ----")
var i = 0
while i < 10 {
    print(i)
    i += 1
}
print("\n")


print("--- While / If ---")
var z = 0
while z < 10 {
    print(z)
    if z == 5 {
        break
    }
    z += 1
}
print("\n")


print("--- Repeat ---")
var y = 0
repeat {
    print(y)
    y += 1
} while y < 10
print("\n")


print("--- For ---\n")
// 0부터 10까지
let ClosedRange = 0...10

// 0부터 9까지
let halfClosedRange = 0..<10

print("ClosedRange")
var sum = 0
for q in ClosedRange {
    print("\(q)")
    sum += q
}

print("totla sum: \(sum)")


print("\nhalfClosedRange")
var sum2 = 0
for w in halfClosedRange {
    print("\(w)")
    sum2 += w
}

print("total sum: \(sum2)")


var sinValue: CGFloat = 0
for e in ClosedRange {
    sinValue = sin(CGFloat.pi/4 * CGFloat(e))
}

// 사용되지 않는 변수는 _로 사용할 수 있음
print("\n")
let name = "khon"
for _ in ClosedRange {
    print("\(name)")
}

print("\n")
for r in ClosedRange {
    if r % 2 == 0 {
        print("짝수: \(r)")
    }
}
print("\n")

// where은 조건(t % 2 == 0)을 수행하고 맞으면 그 안에 있는 코드 실행
for t in ClosedRange where t % 2 == 0 {
    print("짝수: \(t)")
}
print("\n")

// 3만 빼고 남은 수를 출력
// 특정 부분만 빼고 싶을때 continue 사용
for t in ClosedRange {
    if t == 3 {
        continue
    }
    print("\(t)")
}
print("\n")

// 0부터 3까지 수와 5빼고 남은 수 출력
for a in ClosedRange {
    if a <= 3 {
        continue
    }
    if a == 5 {
        continue
    }
    print("\(a)")
}
print("\n")

// for문은 중첩으로 사용할수 있음
for f in ClosedRange {
    for g in ClosedRange {
        print("구구단 \(f)단 \(f) * \(g) = \(f * g)")
    }
}

print("\n--- Switch ---")
let num = 10
switch num {
case 0:
    print("0")
case 0...10:
    print("0 ~ 10")
case 10:
    print("10")
default:
    print("another")
}
print("\n")

let pet = "Bird"
switch pet {
case "Dog", "Bird":
    print("House Pet")
default:
    print("It's Bird")
}
print("\n")

let Newnum = 5
switch Newnum {
case Newnum where Newnum % 2 == 0:
    print("짝수")
default:
    print("홀수")
}
print("\n")


let Coordinate = (x: 10, y: 10)
switch Coordinate {
case (0, 0):
    print("Nothing")
case (let x, 0):
    print("x, x:\(x)")
case (0, let y):
    print("y, y:\(y)")
case (let x, let y) where x == y:
    print("Same Value x, y = x\(x), y\(y) ")
case (let x, let y):
    print("Another x, y = x\(x), y\(y)")
}

'Swift > 문법' 카테고리의 다른 글

Array / Dictionary / Set  (0) 2021.03.01
Function / Optional  (0) 2021.02.26
Tuple / Bool / Scope  (0) 2021.02.25
고차 함수(higher order function)  (0) 2021.01.30
오류 처리(error handling)  (0) 2021.01.30
Posted by khon98
,