Swift 기본 문법 정리(1)
전수열님의 GitBook을 참고하였다.
Swift에서는 변수(variable)를 var, 상수(constant)를 let으로 사용하고 있다.
Swift는 언제 어디서 값이 바뀔지 모르는 변수보다는 상수를 사용하는 것을 권장한다.
var name = "Tom"
let birthyear = 1998
변수는 값의 변경이 가능하다!!
name = "Mark"
하지만 아래와 같이 상수의 값을 변경하려고 하면 컴파일 에러가 발생한다.
birthyear = 20000 // Compile Error!
Cannot assign to value: 'birthday' is a 'let' constant
Swift는 정적 타이핑 언어이다. 변수나 상수를 정의할 때 그 자료형(타입)이 어떤 것인지를 명시해주어야 하는 언어를 말한다.
var name: String = "Tom"
let birthyear: Int = 1998
var height: Float = 170.2
변수와 상수명 오른쪽에 :String, :Int, :Float와 같이 변수에 담길 값의 타입을 지정해주는 것을 정적타이핑 이라고 한다.
그리고 :String를 Type Annotiation이라고 한다.
Swift에서는 타입을 매우 엄격하게 대루기 때문에 다른 자료형끼리는 기본적인 연산조차 되지 않는다.
birthyear + height // Compile Error!
Binary operator '+' cannot be applied to operands of type 'Int' and 'Float'
이를 해결하는 방법은 강제로 형을 변환하여 사용하는 것이다.
Float(birthyear) + height // 2168.2
Swift에서 문자열에 변수를 넣는 방법은 아래와 같다.
String(birthyear) + "년에 태어난 " + name + "아 안녕!" // 1998년에 태어난 Tom아 안녕!
이렇게 사용하면 가독성이 조금 떨어진다. Swift에는 조금 더 간결한 작성법이 있다.
"\(birthyear)에 태어난 \(name)아 안녕!"