스위프트 튜토리얼(2) - Data Type
저번에 이어서 계속 진행하겠다.
오늘은 Data Type 에 대해서 알아볼 것이다. 우리 나라말로는 자료형이다. 이 포스팅에서는 Data Type이라고 하겠다.
xcode의 playground를 키고 다시 작업해보자. playground를 키는 방법은 지난 포스팅을 참고하기 바란다.
스위프트 튜토리얼(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출력
'스위프트' 카테고리의 다른 글
스위프트 튜토리얼(6) - Loops, 반복문(2) (0) | 2020.12.21 |
---|---|
스위프트 튜토리얼(5) - Loops, 반복문(1) (0) | 2020.12.19 |
스위프트 튜토리얼(4) - Switch Statements (0) | 2020.12.19 |
스위프트 튜토리얼(3) - if 문 (0) | 2020.12.18 |
스위프트 튜토리얼(1) - Variables (0) | 2020.12.16 |