정의와 구현을 분리하지 않고 .swift 파일 내에서 통합해서 작업하는 언어.
각 구문의 끝을 스위프트 구문 해석기가 알아서 찾아줌.
(한 줄에 하나의 구문을 작성할 때에 한해)
@UIApplication
어노테이션을 사용하여 앱을 시작하는 객체를 지정
하나의 앱에 위의 어노테이션이 붙은 객체는 단 하나뿐이어야 함.
Character 타입도 큰따옴표로 표시. 문자를 표시하고 싶을 때는 Character 타입 별도 명시 필요.
명시적 지정 없이는 문자열로 추론되어 처리
프로젝트 내에 선언된 다른 객체를 호출할 때는 별도의 import 없이 참조 가능한 네임스페이스 제공.
//
한줄 주석
/* */
여러 줄 주석
기존 타입과 일치하는 타입에 한해 변수 변경 가능.
반드시 선언 후 사용.
변수는 var
, 상수는 let
으로 선언.
초기화시 대입연산자 = 공백을 동일하게 해야함
let a = 123
O
let a= 123
X
변수는 선언과 초기화 분리 가능. 상수는 선언과 초기화 동시에 이루어져야 함.
var year: Int // 변수 선언 (타입 어노테이션)
year = 2022 // 초기화
var letter : Character = "s"
와 같이 사용변수 -> 선언 / 초기화 분리 가능
상수 -> 클래스, 구조체에서 멤버로 선언된 상수는 선언과 초기화를 동시에 하지 않아도 됨.
선언 / 초기화 분리 했을 때 타입 어노테이션으로 해당 변수/상수의 타입을 명시.
++ 타입 추론으로 얻는 타입이 원하는 타입이 아닐 때 (Float, Double, Character 등)
형변환 해줘야함
** 이때 형변환은 새로운 타입의 인스턴스를 생성하는 행위임
ex)
var str = "hello"
var int = 123
str = str + String(int) // 여기서 String(int) 는 변수 int 가 변경된 게 아니라 새로운 String 인스턴스 생성된 것
Xcode 불편하다