기본 데이터 타입
1. Bool 타입
Bool
타입은 불리언 타입으로 참(True
) 또는 거짓(False
) 만을 값으로 가진다.
var someBool: Bool = true
someBool = false
var anotherBool:Bool = false
let iLoveYou : Bool = true
let isTimeUnlimited:Bool = false
print("시간은 무한합니까?: \(isTimeUnlimited)")
print("나는 당신을 사랑하나요?: \(iLoveYou)")
print("이것은 진실입니까? : \(someBool)")
2. Int와 UInt
Int
는 +,- 를 포함한 정수를, UInt
는 -를 포함하지 않는 양의 정수를 표현한다.
var someInt: Int = -10
someInt = 100
var someUInt:UInt = 10
someUInt = 1
Int.random(in: -100...100) // 범위 내의 임의의 숫자 만들기
3. Float 타입과 Double 타입
Float
타입은 64비트 환경에서 6자리의 숫자까지만 표현 가능
Double
타입은 64비트 환경에서 최소 15자리의 십진수를 표현 가능
var someFloat:Float = 10.12345
var someDouble:Double = 10.213124124
어떤 타입을 사용해야 할 지 모를 때는 Double을 사용할 것
Character 타입
Character
타입은 말 그대로 문자
를 의미한다.
var someCharacter:Character = "A"
var otherCharacter:Character = "가"
4. String 타입
String
타입은 문자의 나열, 즉 문자열을 의미한다.
let someName:String = "SDH" // 상수로 선언된 문자열은 변경이 불가능하다.
var introduce:String = String() // 이니셜라이저를 사용하여 빈 문자열을 생성
introduce.append("저는") // append 메서드를 통해 문자열을 이어붙힐 수 있다.
introduce = introduce+" " + someName + "입니다" // + 연산자를 통해서도 문자열을 이어붙일 수 있다.
print(introduce)
print("name의 글자 수 = \(someName.count)") // 변수명.count = 변수의 글자 수 파악
print("introduce가 비어있습니까? : \(introduce.isEmpty)") // 변수명.isEmpty = 해당 변수에 값이 있는지 없는지 파악
4.1 String 타입의 다양한 기능
let hello:String="Hello"
let xind:String="Xind"
var greeting:String = hello + " " + xind + "!"
print(greeting)
greeting = hello
greeting += " "
greeting += xind
greeting += "!"
print(greeting)
특수문자
스위프트에는 문자열 내에서 일정 기능을 하는 특수문자(또는 제어문자)가 있다.
\n = 줄바꿈 문자
\\ 문자열 내에서 백슬래쉬를 표현할 때 사용
\" 문자열 내에서 큰 따옴표를 표현할 때 사용
\t 탭 문자, 키보드의 탭키를 눌렀을 때와 같은 효과
\O 문자열이 끝났음을 알리는 null 문자 */
print("스위프트의 특수문자는 \n줄바꿈과 \\백슬래쉬를 표현하고 \"큰따옴표\"를 이렇게 표현하고 띄워쓸 땐 \t이렇게 \\t를 이용")
5. Any,AnyObject와 nil
Any
는 스위프트의 모든 데이터 타입에 사용할 수 있다.
AnyObject
은 클래스의 인스턴스에 할당 * (추후 공부)
nil
은 특정 타입이 아닌 '없음' 혹은 '비어있음'을 뜻하는 키워드* (추후 공부)
var someAny: Any = "dinx"
someAny = 26
someAny = 175.1
print(someAny)
Any
타입이 사용하기 편하긴 하지만 스위프트에서는 데이터 타입을 정확히 명시하는 것이 오류의 위험을 최소화하는 방법 중 하나이기 때문에 가급적 사용을 지양할 것.