[swift] 자료형, 문자열 보간, 특수문자, 변수, 상수, 튜플
자료형
변수에 타입과 초기값을 한번에 다음과 같이 할당할 수 있다
var number : Int = 10
이렇게 자료형을 빼먹어도 컴파일러가 type 을 추론한다. (Int 로 추론)
var number = 10
1. Int
- 정수. 음의 값을 담을 수 있는 sign, 양의 값을 담을 수 있는 unsigned 다 지원
(Int8, UInt8, 16, 32, 64 ...) 걍 Int ㄱㄱ
2. Double, Float
- 실수. 64타입은 Double, 32타입은 Float. Double 형이 기본
3. Bool
- true or false
4. Charactor
- 유니코드 문자 한 글자. 값 할당 시 작은따옴표가 아닌 큰따옴표로 해야 한다. 큰따옴표다 보니
자료형을 생략하면 String 으로 인식한다.
5. String : 문장. 보통 자료형 선언을 생략하는게 일반적이다. 굳이.. 아래와 같이 String 을 명시할 필요까진 없다.
var value : String = "hello"
문자열 보간 (string interpolation)
\(~~~) 으로 ~~~ 안에는 문자열, 변수, 상수, 표현식, 함수 호출의 조합을 만들 수 있다
var id = "maani"
let age = 60
var returnValue = "my name is \(id) and age is \(age)"
print(returnValue)
특수문자
역슬래시로 시작하는 문자열은 모두 특수문자로 간주한다
\n : 엔터 \\ : 역슬래시 \" : 큰따옴표 \' : 작은따옴표 |
변수(var)
변경이 가능한 값.
var value = 10
value = 12
(변경가능)
상수(let)
javascript 에서 const 와 같다. 값이 할당 되면 변경이 불가능하다. 반복적으로 사용되는 값이 있을 때 사용.
공식적으로 코드의 효율성을 위해 변수(var)을 만들어 쓰기 보다 상수(let)을 쓰는 것을 권장한다고 한다
let max = 35
max = 34
(안됨..)
튜플
신기하다. 여러개의 값들을 하나의 개체에 묶어서 사용한다. 어떠한 자료형이 와도 되고, 값들이 모두 달라도 된다.
let tupleValue = (100, "백", 10.2)
tupleValue 안에 Int 도 들어오고, String 도 들어오고 Double 도 들어왔다.
[ ~, ~, ~ ] 으로 묶었다면 배열 이지만, ( ~, ~, ~ ) 으로 묶었으니 튜플 이다.
그렇다면 저 묶여있는 tupleValue 안에 값들을 어떻게 접근하면 될까?
//1. 튜플 안에 있는 값들을 하나씩 변수로 할당해서 꺼내 쓰기
let tupleValue = (100, "백", 10.2)
let (intNumber, string, doubleNumber) = tupleValue
print("string value is \(string)")
이러면 intNumber, string, doubleNumber 라는 변수명으로
3개가 let 으로 할당이 된다. (굳이 다 안쓴다면 메모리 낭비겠지?)
//2. 튜플 안에 있는 값이 하나만 필요하고 나머지는 버릴 때
let tupleValue = (100, "백", 10.2)
let (_, string, _) = tupleValue
print("string value is \(string)")
_ 을 쓰면 그 값은 할당 안하겠습니다 라는 뜻이다.
//3. index 로 접근해보자
let tupleValue = (100, "백", 10.2)
print("string value is \(tupleValue.1)")
맨 첫번째부터 Index 0, 1, ...