swift 기초

변수와 상수

  • 변수
    • 값 변경 가능
    • 변수 값 변경 시 처음 저장했던 값과 일치하는 타입으로만 변경 가능
    • var 키워드 사용
  • 상수
    • 값 변경 불가능
    • let 키워드 사용

자료형

  • Int
    • 부호 있는 정수값 저장
  • UInt
    • 부호 없는 정수값 저장 (양수만 표현 가능)
  • Double & Float
    • 실수값 저장
    • Double : 64bit 부동소수점 자료형 -> 특별히 매우 정확해야 하는 부동소수정 값, 매우 넓은 범위의 실수값을 저장할 때 사용
    • Float : 32bit 부동소수점 자료형
  • Bool
    • true/false 두 종류의 값을 가지는 자료형
    • 논리값을 저장하기 위해 사용됨
  • String
    • 문자열 저장
  • Character
    • 한 개의 문자를 저장할 수 있는 단일 자료형

타입 추론과 타입 어노테이션

  • 타입 추론
    • 변수나 상수를 초기화할 때 입력된 값을 분석하여 변수에 적절한 타입을 컴파일러가 스스로 추론하는 기능
    • 스위프트 특성 중 설계에 의한 안전성(Safety by design)
  • 타입 어노테이션
    • 변수나 상수를 선언할 때 그 타입을 명시적으로 선언해줌으로써 어떤 타입의 값이 저장될 것인지를 컴파일러에 직접 알려주는 문법
    • 타입 어노테이션을 사용해야 하는 경우
      • 선언과 초기화를 분리할 경우
      • 타입 추론으로 얻어지는 타입이 아닌, 다른 타입을 직접 지정할 필요가 있을 때
        • var temp : Float = 3
        • var charValue : Character = "문"
// 선언과 초기화를 동시에
var day = 7

// 선언과 초기화를 분리
var year : Int // 선언
year = 1999 // 초기화

타입이 다른 변수끼리의 결합

  • swift에서는 숫자와 문자열이 결합할 때 숫자를 자동으로 문자열로 변결하지 않기 때문에 직접 명시해주어야 한다
    • String(문자열로 바꾸고 싶은 정수값 또는 변수)
    • Int(정수로 바꾸고 싶은 문자열)
    • 등등
var str = "hello wolrd"
var year = 2020

var welcome = str + String(year)

  • 문자열 템플릿
    • 변수나 상수의 값을 문자열 속에 포함시키는 방법
    • 정수나 실수 등 문자열이 나니 값도 변환 과정 없이 사용할 수 있도록 스위프트가 제공하는 기능
    • \(변수명)
// 상수와 변수를 정의
let name = "경자년"
let year = 2020
let month = 4

// 문자열 템플릿을 사용한 문자열 결합
let thisMonth = "지금은 \(year)\(name), \(month)입니다."
print(thisMonth)

연산자

산술 연산자

구분 연산자 사용 예 의미
단항 연산자 - -a 값의 부호를 변경
이항 연산자 + a + b 두 개의 값을 더함
  - a - b 연산자 앞의 값에서 뒤의 값을 뺌
  * a * b 두 개의 값을 곱함
  / a / b 연산자 앞의 값을 뒤의 값으로 나눔
  % a % b 연산자 앞의 값을 뒤의 값으로 나눈 나머지

비교 연산자

연산자 사용 예 의미
< a < b a가 b보다 작으면 true, 그렇지 않으면 false
> a > b a가 b보다 크면 true, 그렇지 않으면 false
<= a <= b a가 b보다 작거나 같으면 true, 그렇지 않으면 false
>= a >= b a가 b보다 크거나 같으면 true, 그렇지 않으면 false
== a == b a가 b와 같으면 true, 같지 않으면 false
!= a != b a가 b와 같지 않으면 true, 같으면 false

논리 연산자

연산자 사용 예 의미
! (NOT) !a a가 true이면 false, false이면 true 반환
&& (AND) a && b a와 b 모두 true일 때 true, 둘 중 하나라도 false이면 false 반환
|| (OR) a || b a 또는 b 둘 중 하나라도 true라면 true, 둘 다 false일 때 false 반환

범위 연산자

  • 스위프트에서 제공하는 독특한 연산자
  • 닫힌 범위 연산자
    • 주어진 피연산자 a, b를 포함하는 범위를 나타내는 연산자
    • 1 ... 5 => 1, 2, 3, 4, 5
  • 반 닫힌 범위 연산자
    • 연산자의 양쪽 경계 중에서 왼쪽 경계는 포함하되 오른쪽 경계는 포함하지 않는 연산자
    • 1 ..< 5 => 1, 2, 3, 4
    • 사용 불가한 경우
      • 1 ..> 5 : 연산자의 방향이 반대인 경우
      • 5 ..< 1 : 왼쪽의 값이 오른쪽의 값보다 큰 경우
  • for~in 구문에서 쓰일 수 있다

대입 연산자

대입연산자 사용 예시 의미
= a = 1 변수 a에 1을 대입
+= a += 1 a = a + 1
-= a -= 1 a = a - 1
*= a *= 3 a = a * 3
/= a /= 3 a = a / 3
%= a %= 3 a = a % 3
«= a «= 3 a = a « 3
»= a »= 3 a = a » 3
&= a &= b a = a & b
^= a ^= b a = a ^ b
|= a |= b a = a | b

증감 연산자 (사용하지 않음)

  • 스위프트에서는 지원하지 않음

태그:

카테고리:

업데이트: