전체 글 22

[Swift] 옵셔널 (Optional), nil

nil Non-optional Type (넌옵셔널 타입) optional Type (옵셔널 타입) nil 값이 없다는 것을 나타내는 특별한 키워드. 옵셔널 변수에 특수한 값 nil을 지정하면 값이 없는 상태를 나타낼 수 있다. nil은 타입이 없기 때문에 nil만으로는 타입을 추론할 수 없다. let stock: Int? = nil Non-optional Type (넌옵셔널 타입) 변수와 상수는 값을 읽기 전에 반드시 초기화해야 하며, 항상 타입에 맞는 값을 가지고 있어야 한다. 이런 타입을 Non-optional Type(넌옵셔널 타입)이라 부른다. Non-optional Type(넌옵셔널 타입)에는 항상 값을 가지고 있어야 하므로 nil을 저장할 수 없다. nil은 값이 없다는 것을 나타내는 특별한 ..

Swift 2024.01.06

[Swift] 제어 전달문 - continue 문

제어 전달문은 조건문과 반복문에서 사용하며, 코드의 실행흐름을 바꾸는 역할을 한다. 제어를 전달한다는 것은 현재 실행 중인 스코프를 종료하고 다음에 실행할 코드를 바로 실행하는 것이다. Swift는 break 구문, continue 구문, fallthrough 구문, return 구문, throw 구문 이렇게 총 다섯 가지 제어 전달 구문이 있다. [Swift] 제어 전달문 - break 문 이 포스팅에서는 continue 구문에 대해 공부한다. continue 구문 (Continue Statement) continue는 반복문에서만 사용하며 루프 구문의 현재 반복되는 문장을 종료하지만, 루프 구문의 실행을 멈추지 않고 다음 회차 반복을 실행한다. 1부터 10까지 반복문을 실행하고 , if문의 조건이 짝..

Swift 2024.01.05

[Swift] 제어 전달문 - break 문

제어 전달문은 조건문과 반복문에서 사용하며, 코드의 실행흐름을 바꾸는 역할을 한다. 제어를 전달한다는 것은 현재 실행 중인 스코프를 종료하고 다음에 실행할 코드를 바로 실행하는 것이다. Swift는 break 구문, continue 구문, fallthrough 구문, return 구문, throw 구문 이렇게 총 다섯 가지 제어 전달 구문이 있다. [Swift] 제어 전달문 - continue 문 이 포스팅에서는 break 구문에 대해 공부한다. break 구문 (Break Statement) break문은 현재 실행 중인 문장을 종료한다. Swich문에서 break문 사용하기 break문은 특정 조건에 따라서 블록을 이른 시점에 종료해야 할 때 사용할 수 있다. 위 코드에서 switch문을 사용하여 n..

Swift 2024.01.04

[Swift] for in문

for in 문 (For-In Loops) 배열의 아이템, 범위의 숫자, 또는 문자열에 문자와 같은 연속된 것에 대해 for in루프를 사용해 반복할 수 있다. for loopConstant in Range { statements } loopConstant 상수의 이름 (값의 성격을 나타내는 이름으로 지어준다.) Range 반복할 범위 (보통 범위 표현식 사용) [Swift] 범위 연산자 위 코드는 for in문을 사용해 number상수에 담긴 배열의 아이템을 하나씩 꺼내 출력하는 예제이다. 예제) "Hello" 10번 출력하기 for-in문은 lowerBound부터 1씩 증가시키면서 upperBound까지 반복하는데 이때 1부터 10까지 1씩 증가하는 숫자를 루프 상수로 전달해 준다. 루프 상수의 이름..

Swift 2024.01.04

[Swift] stride 함수

stride 함수 stride(from:to:by:) upperBound를 포함하지 않는다. for num in stride(from: lowerBound, to: upperBound, by: 증가시킬 값) 위 코드에서 stride(from:to:by:) 함수를 사용해 0부터 10까지 2씩 증가시키는 코드를 실행해 보면, 짝수만 출력되는 것을 확인할 수 있다. 0부터 10까지의 범위를 2씩 증가시키는데 출력된 부분을 확인해 보면 0부터 8까지만 출력된다. stride(from:to:by:) 함수는 종료위치를 포함하지 않는다. (반-열림 범위 연산자 (Half-Open Range Operator)와 동일) 만약 종료위치의 범위를 포함시키고 싶다면 to => through로 바꿔주면 된다. stride(fr..

Swift 2024.01.04

[Swift] 범위 연산자

범위 연산자 (Range Operators) 범위 연산자는 범위를 표현하는 연산자이며, 반복할 범위를 표현하거나 배열에서 특정 부분을 추출할 때 사용한다. 닫힌 범위 연산자 (Closed Range Operator) 반-열림 범위 연산자 (Half-Open Range Operator) 단-방향 범위 (One-Sided Ranges) 닫힌 범위 연산자 (closed range operator) (a ... b) 닫힌 범위 연산자 (a ... b)는 시작위치인 a부터 종료위치인 b까지의 범위 실행을 정의한다. a의 값은 b보다 클 수 없으며, for-in 루프와 같이 모든 값을 사용할 범위를 반복할 때 유용하다. lowerBound ... upperBound 1 ... 10 1부터 10까지의 범위를 정의한다..

Swift 2024.01.04

[Swift] Switch문

Switch문 하나의 값 매칭하기 (Value Matching) 범위 매칭하기 (Interval Matching) Fallthrough switch 구문은 하나 이상의 같은 타입의 값과 비교한다. 모든 switch 구문은 각각 case 키워드로 시작하는 여러 개의 케이스로 구성되어 있다. 각 케이스의 비교대상과 일치하는 케이스 구문을 실행하고 바로 종료한다. switch valueExpression { case value : statements case value, value : statements default: statements } valueExpression 비교할 대상 value 대상과 비교할 값 - 비교할 대상과 비교할 값이 같다면 case블록이 실행된다. - pattern은 두 개 이상 나열..

Swift 2024.01.03

[Swift] Guard문

Guard 구문 (Guard Statement) guard문은 하나 이상의 조건이 충족되지 않을 때 범위 밖으로 프로그램 제어를 전송하기 위해 사용한다. guard condition else { statements } guard문은 조건을 확인하고 조건이 true이면 guard문을 종료하고 이후 코드를 계속 실행한다. 반대로 조건이 false이면 else블록을 실행하는데, else블록은 if문의 else블록과 달리 생략할 수 없으며, else블록 안에서 반드시 Scope를 종료해야 한다. Scope를 종료하는 방법 중 가장 기본은 return를 사용하는 방법이다. if문과 다르게 guard문의 경우 else블록을 작성하지 않으면 컴파일에러가 발생한다. else블록에 return을 전달하고 함수를 호출해 ..

Swift 2024.01.02

[Swift] if / else if / else

if 조건의 참과 거짓을 판단한 후 실행할 코드를 결정하는 문장. Condition == 조건 == Boolean if condition { statements } if 문은 조건을 판단하여 조건이 true일 경우 if 블록을 실행하고 반대로 false일 경우 if 블록을 실행하지 않는다. 위 코드는 id가 "root"일 경우 "valid id"를 출력하는 코드이다. 이전에 다른 언어들의 경우 if문의 조건을 (condition) 👈 이렇게 괄호로 감싸는 것이 보편적인데 Swift에서는 보통 괄호를 생략한다. Swift에서 괄호를 감싸는 경우는 계산순서를 지정하거나, 조건이 복잡해서 가독성을 높여야 할 경우에만 제한적으로 사용한다. id와 password를 검사하는 코드를 두 개의 if문으로 작성했다. ..

Swift 2024.01.01

[Swift] 비교 연산자

비교 연산자 (Comparison Operators) 모두 이항 연산자이며, 구문이 true인지 아닌지 판단하기 위해 항상 bool값을 리턴한다. 같음 (a == b) 다름 (a != b) 보다 큼 (a > b) 보다 작음 (a = b) 보다 작거나 같음 (a b) (Greater than Operator) a가 b보다 크다면 true를 리턴하고, 그렇지 않으면 false를 리턴한다. 보다 작음 (a = b) (Greater than or equal to) a가 b보다 크거나 같다면 true를 리턴하고, 그렇지 않으면 fa..

Swift 2024.01.01