IOS/swift 기초 문법

[Swift 기초 문법] 1.2 상수와 변수, 기본 데이터 타입

식빵민 2022. 7. 3. 21:50

상수와 변수

1. 상수와 변수 선언

  • let : 상수 선언 키워드
  • var : 변수 선언 키워드
let christmas: Int = 1225
var today: Int = 703

2. 선언 후 값 할당하기

  • 선언을 한 뒤, 나중에 값을 할당하려는 상수,변수는 데이터 타입을 명시해야 함
let sum:Int
let x: Int = 10
let y = 20 // 값의 타입이 명확하다면 타입 생략 가능
//let z !오류 발생! 값의 타입이 불명확함
sum = x + y
//sum = 111 !오류 발생! let은 상수 이므로 최초 값 할당후 값을 바꿀 수 없음
var nickname:String
//print(nickname) !오류 발생! 값이 초기화 되지 않았음
//var name !오류 발생! 마찬가지로 값의 타입이 불명확함
nickname = "IU"
nickname = "이지은" //변수(var)는 값을 변경 할 수 있음

기본 데이터 타입 
 - 종류 : Bool, Int, UInt, Float, Double, Character, String

1. Bool

  • true 와 false만을 값으로 가지는 논리 타입
var jdg: Bool = true
jdg = false
//jdg = 0 !오류 발생! swift에서 Bool은 true, false 만 사용
//jdg = 1 !오류 발생! swift에서 Bool은 true, false 만 사용

2. Int, UInt

  • Int : 정수 타입, 32비트 플랫폼에선 32비트이고, 64비트 플랫폼에선 64비트이다.
  • UInt : 양의 정수 타입, 마찬가지로 32비트 플랫폼에선 32비트이고, 64비트 플랫폼에선 64비트이다.
var christmas: Int = 1225
//christmas = 12.25 !오류 발생! 
var buddhaBirth: UInt = 527
//buddhaBirth = -527 !오류 발생!
//buddhaBirth = christmas !오류 발생! 'UInt' 타입에 'Int' 타입의 값을 할당할 수 없음

3. Float, Double

  • Float : 실수 타입, 32비트
  • Double : 실수 타입, 64비트
var pi: Float = 3.14
pi = 3 // Int형으로 넣어줘도 됨
var longPi: Double = 3.141592
longPi = 3 // Int형으로 넣어줘도 됨
//longPi = pi !오류 발생! 'Double' 타입에 'Float' 타입의 값을 할당할 수 없음

4. Character, String

  • Character : 문자 타입, 유니코드 사용, 큰따옴표("") 사용
  • String : 문자열 타입, 유니코드 사용, 큰따옴표("") 사용
var mark: Character = "🇰🇷"
mark = "가"
mark = "A"
//mark = "Hello" !오류 발생! 'Character' 타입에 'String' 타입의 값을 할당할 수 없음
var str: String = "Hello human"
str += "😀"
//str = mark  !오류 발생! 'String' 타입에 'Character' 타입의 값을 할당할 수 없음
//str += mark !오류 발생! 'Character' 타입 값을 예상 인자 타입 'String'으로 변환할 수 없음
str = """
hello
I'm fine thank you
and you?
"""
//쌍따옴표 3개를 이용해 여러줄 문자열을 사용할 수 있음
/*
str = """hello
I'm fine thank you
and you?"""
*/
//쌍따옴표 3개인 줄(첫줄, 끝줄)에서 개행을 하지 않으면 오류 발생

※ Swift는 데이터 타입간 변환이 엄격하다 ⇒ 예기치 않은 오류를 미연에 방지하기 위함

데이터 타입 알아보기

let integer = 100 //Int
let floatingPoint = 12.34 //Double
let apple = "A" //String