3이라는 변수를 a라는 데이터공간에 저장, 여기서 a의 이름은 개발자가 마음대로 정할 수 있음
var a = 3
var b = 7
b = 9
b = b + 2
var c = a + b
print(c) //12가 출력
변수를 여러개 한꺼번에 선언하는 방법: ,(콤마)로 연결
var x = 1, y = 2, z = 3
var name = "홍길동"
var age = 20
var address = "서울 강남구"
name = "전지현" //name이라는 공간에 "전지현"을 담는다(원래는 "홍길동"이 담겨잇음)
print("저의 이름은 \(name)입니다. 저의 나이는 \(age)살 입니다. 그리고 \(address)에 살고있다.")
//저의 이름은 전지현입니다. 저의 나이는 20살입니다. 그리고 서울 강남구에 살고있다.
let name = "김철수"
name = "김의성" //name변수는 상수(변하지 않는 값)으로 선언되어있어서 오류가 발생
변수 : mutable(값이 변경 가능한)
상수 : immutable(값이 변경 불가능한)
Int : ... -5 -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 ...
Double: ... -3.145673, ... ,-2.2315, ... , 0 , ... , 0.453255, ..., 7.45678, ...
let chr: Character = "1"
type(of: chr) // 타입을 확인하는 방법
let chr2: Character = "" // 빈문자는 에러발생
let chr3: Character = " " // 빈문자는 에러발생 그러나 공백문자는 가능
let str: String = "" // 빈문자열 저장가능
var number: Int = 5 //타입 어노테이션과 값 초기화를 동시에 하는 경우
var name: String //타입 어노테이션
var num = 9 //type(of: num)을 해보면 Int가 나옴
var name = "이름" //type(of: name)을 해보면 String이 나옴
let num1 = 1 //타입은 Int
let num2 = 1.2 //타입은 Double
num1 + num2 //Int타입과 Double타입은 계산이 불가능하다 오류발생
let str2 = "123"
let number1 = Int(str2)
print(number1) // Optional(123)
let str3 = "123.4"
let number2 = Int(str3)
print(number2) // 타입컨버전이 실패했을 때, nil(값이 없음)이 리턴
let n = 2
let n2 = Double(n)
print(n2) // 2
let n3: Int = Int(2.4)
print(n3) // 2, Double을 Int로 타입변환하면 내림(소수점삭제)
typealias Name = String //String을 Name이라고 치환해주겟다(별명을 붙여주겟다)
let name: Name = "김의성"
typealias (Int)->String = Something //이렇게 쓰면 가독성이 높아짐