Swift 기본문법(데이터 타입)

sanghun park·2023년 5월 2일
0

기본 데이터 타입

Int 선언

var someInt: Int = -100

Int는 64 bit의 정수형임으로, 만약 a에 다른 타입의 변수를 지정해 준다면 에러가 난다.

예시
someInt = 1.1 => error 

UInt 선언

var someUInt: UInt = 100

UInt 는 Int형에서 부호가 없는 타입이다. 따라서 someUInt라는 변수에 부호가 있는 값을 지정해 준다면 에러가 난다.

예시
someUInt = -100 => error


Float 선언

var someFloat: Float = 1.1
someFloat = 1
// print(someFloat) => 1.0

Float는 32비트 부동 소수점 타입이다. 32비트 부동소수점을 가질 수 있기 때문에 1.1이라는 값을 저장할 수 있다. 또한 int 타입보다 넓은 범위이므로, someFloat 변수에 int 타입을 지정해 줘도 에러가 나지 않는다.
(1값을 지정하면 자동으로 1.0 이라는 실수를 저장)

Double 선언

var someDouble: Double = 1.1
someDouble = 1
// print(someDouble) => 1.0

Double은 Float보다 더 넓은 범위의 64비트 부동소수점 타입이다.



Bool 선언

var someBool = true

Bool은 true, false 값을 갖는 타입이다.



Character 선언

Charater는 문자를 나타내는데 String 타입과 비교해서 보면 이해를 더 쉽게 할 수 있다.

Character 형 선언
var someCharater: Character = "A"
someCharacter = "B"
someCharacter = "asdasd" => error
String 형 선언
var someString: String = "asdasdas"

위의 두 샘플을 비교해보면 Character 타입에는 여러개의 문자가 들어갈 수 없다.
즉, Character는 문자형 타입을 의미한다.
String은 문자가 여러개로 나열되어있는 형태이다.
즉, String 은 문자열 타입을 의미한다.



Any

이 타입은 컴파일러가 알아서 변수가 어떤 타입인지 추론하여 지정해주는 타입이다.

var testString = "asdasd" => String
var testInt = 1 => Int 


정리

Int : 64 bit 정수형
UInt : 부호가 없는 64bit 정수형
Float : 32bit 부동 소수점
Double : 64bit 부동 소수점
Bool : true, false 값
Character : 문자
String : 문자열
Any : 모든 타입을 지칭하는 키워드


컬렉션 타입

Array

  • 데이터 타입의 값들을 순서대로 저장하는 리스트이다.
// 기본 선언 방법
var numbers: Array<Int> = Array<Int>()

// 축약형 선언 방법
var numbers: [Int] = []

Array안에 데이터를 추가할때는 append, 특정 인덱스에 데이터를 저장하고 싶을땐 insert , 삭제하고 싶을땐 remove 를 사용하면 된다. 또한 Array배열의 데이터를 조회하고 싶을 땐 numbers[조회하고 싶은 인덱스] 형식으로 조회가 가능하다.

numbers.append(2)
numbers.append(3)

numbers[0]

numbers.insert(3, at: 2)

numbers.remove(at: 0)

Dictionary

  • 순서없이 key, value 한 쌍으로 데이터를 저장하는 컬렉션 타입이다.
// 기본 선언 방법
var dic: Dictionary<String,Int> = Dictionary<String,Int>()

// 축약형 선언 방법
var dic: [String:Int] = ["kim":1]

데이터를 삽입하고 싶을 때는 dic[key] = value 형식으로 삽입하면 되고, 삭제하고 싶을 때는 dic.removeValue를 사용하면 된다.

// 삽입
dic["park"] = 1
dic["seo"] = 3

// 삭제
dic.removeValue(forKey: "kim")

Set

  • 같은 데이터 타입의 값을 순서없이 저장하는 리스트이다.
var set: Set = Set<Int>()

Set은 위의 컬렉션 타입과 다르게 축약형 선언방식이 없다.
insert를 사용하여 데이터를 삽입 할 수 있고, remove를 사용하여 데이터를 삭제할 수 있다.

순서가 없기 때문에 20을 중복으로 삽입해도 출력은 하나만 된다.

profile
개발자를 꿈꾸는 학생

0개의 댓글