본문 바로가기

스위프트

스위프트 튜토리얼(2) - Data Type

스위프트 튜토리얼(2) - Data Type

저번에 이어서 계속 진행하겠다.

youtu.be/Ulp1Kimblg0?t=913

이제 유튜브의 선생님이 친근해지기 시작했다

오늘은 Data Type 에 대해서 알아볼 것이다. 우리 나라말로는 자료형이다. 이 포스팅에서는 Data Type이라고 하겠다. 

xcode의 playground를 키고 다시 작업해보자. playground를 키는 방법은 지난 포스팅을 참고하기 바란다.

 

mangsang.tistory.com/9

 

스위프트 튜토리얼(1)

스위프트 튜토리얼(1) 스위프트 공부를 시작했는데 문서를 보는 것도 괜찮은데 쳐지는 느낌이 많이 들어서 유튜브를 찾아보다 조회수가 374만 회에 달하는 영상을 발견했다. 영상은 아래와 같다.

mangsang.tistory.com

var str = "hello world"
str = 1 // 오류 발생

그러면 다음과 같은 오류가 뜬다.

error: MyPlayground.playground:2:7: error: cannot assign value of type 'Int' to type 'String'

 

해석을 하자면 String 타입에 Int 타입 값을 넣을 수 없다는 것이다. 스위프트는 Data Type에 엄격해서 변수의 타입에 해당되는 값만 넣을 수 있다.

 

스위프트에서 쓰이는 데이터 타입은 꽤 많다. 하지만 우리는 초보이기 때문에 집고 넘어갈 만한 데이터 타입을 보자. 

String : 텍스트(문자열)

Int : 정수(+, - 값 모두)

Float : 소수

Double : 더 큰 소수

Bool : True of False

 

소수는 Float하고 Double이 있는데 Double을 주로 쓰는 것으로 보인다.

 

다시 예시를 보자.

var str = "hello world" // 선언과 동시에 Type이 String이 됨

위의 예시의 경우 "hello world"가 String Type이다.

str 선언과 동시에 들어갈 때 str은 String Type이 된다.

 

하지만 값을 할당하지 않고 다음과 같이 Type을 지정할 수도 있다.

var str:String

아직 값은 할당 되지 않았지만 str은 String Type이 되고 여기에는 String값만 할당할 수 있다.

 

물론 다음과 같이 Type을 지정하고 값도 할당할 수도 있다.

var str:String = "Hello World"
var str2:String = 1 // 에러 발생

위의 예시에서 str2에 1을 할당하면서 오류가 나는데 다음과 같이 하면 오류를 없앨 수 있다.

var str:String = "Hello World"
var str2:String = String(1) // 1을 문자열로 바꾸어줌("1"로 변경)

 

다른 데이터 타입들에 어떠한 값들이 들어갈 수 있는지 다음 예시를 보자.

var c:Float = 2.3
var d:Double = 13.9
var e:Bool = true

 

Float, Double을 Int로 바꾸는 것도 가능하다. 단, 소수점 이하는 버려진다. round함수와는 다름을 확인하자. round 는 반올림 함수인데 소수점까지 표현되는 값을 출력한다.

var c:Float = 2.3
var d:Double = 13.9

print(Int(c)) // 2 출력
print(Int(d)) // 13 출력
print(round(d)) // 소수(decimal number)로 13.0 출력

 

round함수로 반올림한 수를 소수가 아닌 정수로 바꾸고 싶다면 다음과 같이하면 된다.

var d:Double = 13.9

print(Int(round(d))) // 정수(Integer Number)로 14출력