티스토리 뷰

[시작]


- Swift의 기본 데이터 타입은 구조체를 타입의 기반으로 삼아 Swift의 다양한 기능(익스텐션, 제네릭 등)을 두루 사용하여 구현되어 있음



[Int와 Uint]


- 정수 타입

- UInt : unsigned int

- max, min 프로퍼티로 타입의 최솟값과 최대값을 알아볼 수 있음

- Int와 UInt를 다른 타입으로 인식하므로 굳이 섞어서 사용할 필요가 없음 (타입 변환 시 많은 자원을 소모할 가능성)

1
2
3
4
5
6
7
var integer: Int = 100
let integer2: Int = Int.max + 1 //오버플로우
var unsignedInt: UInt = 3
let unsignedInt: UInt = -2  //비부호형 정수에 음수를 할당할 수 없음
integer = unsignedInt   //둘의 타입이 다르므로 할당 불가능
integer = Int(unsignedInt)  //타입 캐스팅을 통해 할당 가능
 
cs



[Bool]


- 불리언 타입 (true / false)

1
2
let isNight: Bool = false
let isDay: Bool = true
cs



[Float와 Double]


- 부동소수점을 사용하는 실수 타입

- 64비트를 사용하는 Double, 32비트를 사용하는 Float

1
2
3
4
var float: Float = 17823.52
var double: Double = 12785.234
float = double    //둘의 타입이 다르므로 할당 불가능
float = Float(double)    //타입 캐스팅을 통해 할당 가능
cs




[Character]


- 문자, 단 하나의 문자

- 작은따옴표가 아닌 큰따옴표를 사용

1
2
let character1 = "A"    //String 타입으로 타입 추론
let character2: Character = "A" //Character 타입으로 타입 지정
cs




[String]


- 문자열

- 큰따옴표를 사용하여 표현

1
2
3
4
5
6
7
var string: String = "Hello"
let emptyString: String = String()  //""
string.append(" World!")    //append()로 문자열 이어붙이기, Hello World!
string + "Swift"    //+ 연산자로 문자열 이어붙이기, Hello World!Swift
emptyString.count   //문자열의 문자 개수 구하기, 0
emptyString.isEmpty //빈 문자열인지 확인, true
 
cs


- 이외에 내장된 다양한 문자열 관련 메서드와 프로퍼티

 : hasPrefix(_:) : 접두어가 있는지 확인

 : hasSuffix(_:): 접미어가 있는지 확인

 : uppercased() : 모두 대문자로 바꾸어줌

 : lowercased() : 모두 소문자로 바꾸어줌

- 여러 줄 문자열 : """ 사용

1
2
3
4
5
6
7
8
let string = """
안녕하세요
안녕
하세
"""
//안녕하세요\n안녕\n하세\n요
 
cs



[특수문자]


- \n : 개행

- \\ : 문자열 내 백슬래시 사용

- \" : 문자열 내 큰따옴표 사용

- \t : 탭

- \0 : 문자열 끝 (NULL)



[Any, AnyObject와 nil]


- Any : Swift의 모든 데이터 타입 사용 가능

- AnyObject : 모든 클래스의 인스턴스 할당 가능

- 될 수 있으면 사용하지 않는 편이 좋음

 : 타입에 엄격하므로 해당 타입으로 선언된 변수의 값을 사용하기 위해 매번 타입 확인 및 변환을 해주어야 함

- nil : 없음을 나타내는 키워드. 변수 또는 상수에 값이 들어있지 않고 비어있음을 나타냄

nil에 접근하면 런타임 오류 발생

'Swift > 야곰의 스위프트' 카테고리의 다른 글

6장 흐름 제어  (0) 2018.01.29
5장 연산자  (0) 2018.01.29
4장 데이터 타입 고급  (0) 2018.01.29
2장 스위프트 처음 시작하기  (0) 2018.01.29
1장 스위프트  (0) 2018.01.29
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함