기본적으로 camelCase표기법을 사용한다.
| Lower Camel Case | function, method, variable, constant | ex) someVariableName |
| Upper Camel Case | type(class, struct, enum,extension) | ex) Person, Point, Week |
swift는 함수형 프로그래밍을 지향하므로, 불변의 객체를 중요시 여겨 상수 표현이 많다.
let constant : String = "변경 불가한 상수 let"
var variable : String = "변경 가능한 var"
variable = "변수에는 다른 값을 할당할 수 있지만"
//constant = "상수에는 다른 값을 할당할 수 없다"
상수를 초기화하지 않았을 때 한 번 값을 할당하는 것이 가능하다.
let sum : Int
let inputA : Int = 20
let inputB : Int = 30
sum = inputA + inputB
Bool, Int, UInt(Unsigned Int), Float, Double, Character, String
var someBool : Bool = true
var someInt : Int = -100
var someUInt : UInt = 100
var someFloat : Float = 3.14
var someDouble : Double = 3.14
var someCharacter : Character = "🐥"
var someString : String = "안녕하세요"
다른 언어들과 달리 자동 형변환이 거의 일어나지 않으며 자료형이 엄격하게 구분된다.
someBool = 0 // bool형에 int형 대입 불가
someUInt = someInt // UInt형에 int형 대입 불가
someDouble = someFloat // Double형에 float형 대입 불가
someString = someCharacter //String형에 Character형 대입 불가
//...
String형 간의 연산 가능
var someString : String = "농심"
someString = someString + "신라면"
var someAny : Any = 100
someAny = "어떤 타입도 수용 가능"
someAny = 3.14
하지만 Any형을 다른 자료형에 대입할 수는 없다
let someDouble : Double = someAny // Double형에 Any형 넣기 불가
class SomeClass{}
var someAnyObject : AnyObject = SomeClass()
클래스의 인스턴스가 아닌 다른 자료형을 대입할 수 없다
someAnyObject = 123.12
Any형에 어떤 것도 들어올 수 있다고 했지만 nil은 넣을 수 없다.
someAny = nil //불가
someAnyObject = nil //불가