조건문, 반복문을 괄호 ( ) 로 감싸는 것은 옵션!
Body를 감싸는 중괄호 { } 는 필수!
1 2 3 4 5 6 7 8 9 10 11 12 |
let individualScores = [75, 43, 103, 87, 12] var teamScore = 0 for score in individualScores { if score > 50 { teamScore += 3 } else { teamScore += 1 } } teamScore |
if 와 let은 함께 사용할 수 있습니다.
변수의 타입 뒤에 ?를 사용하면 옵션 값이라는 것을 나타냅니다.
옵션 값은 Playground를 보시면 {Some }으로 표현됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var optionalString: String? = "Hello" var optionalStringTest: String = "Hello" optionalString == nil optionalString var optionalName: String? = "John Appleseed" var greeting = "Hello!" if let name = optionalName { greeting = "Hello, \(name)" } |
Switch 문에서는 다양한 비교 연산자들을 사용할 수 있습니다.
case문의 조건과 일치하면 자동적으로 이후의 case문은 실행하지 않습니다.
고로 break 는 사용할 필요 없습니다.
1 2 3 4 5 6 7 8 9 10 11 12 |
let vegetable = "red pepper" switch vegetable { case "celery": let vegetableComment = "Add some raisins and make ants on a log." case "cucumber", "watercress": let vegetableComment = "That would make a good tea sandwich." case let x where x.hasSuffix("pepper"): let vegetableComment = "Is it a spicy \(x)?" default: let vegetableComment = "Everything tastes good in soup." } |
for-in 을 사용하면 Dictionary 안의 요소들을 반복 처리할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
let interestingNumbers = [ "Prime" : [2,3,5,7,11,13], "Fibonacci" : [1,1,2,3,5,8], "Square" : [1,4,9,16,25], ] var largest = 0 for (kind, numbers) in interestingNumbers { for number in numbers { if number > largest { largest = number } } } largest |
while, do while 문의 사용도 가능합니다.
.. 을 사용하여 범위를 만들수 있습니다. 이때 마지막 값은 제외 됩니다.
… 을 사용하면 시작값, 마지막값을 모두 포함하게 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
var n = 2 while n < 100 { n = n * 2 } n var m = 2 do { m = m * 2 } while m < 100 m var firstForLoop = 0 for i in 0..3 { firstForLoop += i } firstForLoop var secondForLoop = 0 for var i = 0; i < 3; ++i { secondForLoop += 1 } secondForLoop |
0개의 댓글