타입 세이프와 타입 추정 그리고 타입 전환
Swift는 특정 타입을 지정해주지 않아도 코드 내에서 다루는 값들의 타입이 명확하도록 만드는 타입 세이프 언어이다.
때문에 Double 타입이 들어갈 부분에 Bool 타입이나 Int 타입을 전달할 수 없다.
반대로 타입 추정을 이용하여 타입을 일일이 지정해주는 일을 줄일 수 있는 것이 장점이다.
(이전 글에서 타입을 적지 않고 초기값으로 타입 형태가 정해지는 것을 생각하면 될 것같다.)
Swift에 기본적인 타입 초기화 및 값 전달 방법은 서로 다른 타입일 때는 아래와 같이 새로운 상수(또는 변수)에서 바꾸고자하는 타입을 앞에 적고 상수(또는 변수)를 괄호로 묶으면 된다.
▲Double 타입 변수 aqq에 Int(aqq)를 하여 Int 타입으로 덧셈을 하고 b 변수에 값을 저장한 것.
마찬가지로 Double타입으로 바꿀려면 Double(aq)를 하면된다.
만약 Int(aqq)를 하지않거나 Double(aq)를 하지않고 aqq, aq만 적었다면 에러가 같은 타입이 아니기 때문에 에러가 뜰 것이다.
튜블(Tuples)
튜블은 여러 값들을 하나의 값으로 묶어주는 역활을 한다. 튜블안에서는 어느 타입도 가능할 뿐더러 각각의 타입이 동일할 필요가 없다.
사용 방법은 아래와 같이 원하는 상수(또는 변수) = (원하는 값들) 을 하면된다.
또한 저장한 값들은 아래와 같이 언제든지 빼낼 수 있다.
▲a라는 상수에 "Apple"과 5 라는 값을 저장해놓고 str과 int 변수에 각각 값을 저장하여 출력
사용하고싶지 않은 값이 있다면 언더바(_)를 해주면 된다.
▲5라는 값이 저장되있는 곳에 언더바(_)를 하여 값을 안받았다.
값이 저장되는건 0번부터 저장이 된다.
a의 0번째 방 | a의 1번째 방 |
"Apple" | 5 |
그러므로 다른 상수(또는 변수)로 옳기지 않고 값을 바로 쓸 수 있다.
▲a.0에는 "Apple"이 저장되있고 a.1에는 5가 저장되있기 때문에 다음과 같은 결과가 출력된다.
'프로그래밍 > Swift' 카테고리의 다른 글
기본 연산자, if 문, for-in 문, 옵셔널 (0) | 2016.07.09 |
---|---|
(Swift) 변수와 상수, 출력 (0) | 2016.07.09 |
프로젝트 생성 (0) | 2016.07.09 |
Apple에서 선보인 Swift (0) | 2016.07.09 |