2024. 3. 8. 11:24ㆍ카테고리 없음
기본적으로 프레임 워크들만 import를 시킨다.
다른 소스 코드같은경우 include/import를 하지 않는다.
세미콜론같은 경우 생략 가능하다.
변수와 상수
기본적으로 변수는 var를 사용하고 타입 추론이 가능하다.
상수같은 경우 let을 사용한다.
val i = 1
또한 val:Int 로 변수 추론을 사용하지않고 선언할 수 있다.
만약 선언과 동시에 초기화하지않는다면 미리 자료형을 선언해야한다.
즉 타입 정보가 있다면 타입 선언 생략이 가능하다.
이미 타입이 정해진 변수에 다른 타입으로 변경하는 경우 에러가 발생한다.
또 다른 타입과 연산하여도 에러가 생긴다.
자동초기화는 없고 초기화전 사용하면 에러가 발생한다.
연산자
이항 연산자와 단항 연산자가 있다.
또한 대입 연산자가 있다.
단항연산자는 -i 를 할때 부호를 반대로 바꾼다.
또 이항 연산에서 1+2 와 1 + 2 는 가능하지만 1 +2 는 불가능하다
== 값이 같은지
=== 주소가 같은지
nil 연산자 ??가 있다
nil 란?
일단은 자바 optional<T> 정도로 생각하자.
데이터 타입
int 와 uint의 차이는 정수와 자연수차이이고 int와 uint는 비트에 따라 Int8 Int16 Int32 Int64로 나뉜다.
이 각각은 다른 자료형으로 취급되서 섞이면 혼합에러가 발생한다.
혼합에러를 방지하기 위해 타입 변환을 할 수 있다.
타입 변환에 실패하는 경우 nil을 반환한다.
타입 변환 같은 경우 이미 선언되어 자료형이 정해진 변수를 바꿀 수 없다.
타입선언과 다른 타입의 값을 대입할 경우 에러가 발생한다.
랜덤함수의 경우 arc4random이 있는데 반환형이 UInt32 임을 주의해야한다.
타입정보를 확인하기 위해 type(of: 변수) 를 사용할 수 있다.
타입을 비교 연산할 수 있다.
문자열같은 경우 /()를 통해 보간할수있다.