Printing Constants and Variables
사용자가 선언한 상수(Constant)와 변수(Variable)은 print(_:separator:terminator:) 함수와 함께 출력을 할 수 있다.
print(_:separator:terminator:) 함수는 하나 이상의 값을 적절한 출력 채널에 출력하는 global function이다. Xcode에서 print(_:separator:terminator:) 함수는 Xcode의 콘솔에 결과를 출력한다. separator와 terminator 파라미터는 기본 값(defualt value)를 갖기 때문에 이 함수를 출력 할때 생략해도 된다. print(_:separator:terminator:) 함수에서 terminator에 설정된 기본 값(default value)은 ‘\n’(a line break)는 개행문자이기 때문에 String을 출력하면 String 타입의 문자열 마지막에 ‘\n’(a line break)가 문자가 포함되어 출력된다. 문자열을 출력할때 줄바꿈을 원하지 않으면 print(someValue, terminator: “”)의 형태로 호출하여 해결할 수 있다. 이번에 설명한 기본 값(default value)가 설정된 함수의 파라미터부분은 Default Parameter Values 챕터에서 자세히 볼수 있다.
Swift는 String 타입의 문자열 중간에 기존에 선언된 상수(Constant)와 변수(Variable)를 사용하기 위핸 공간을 할당하기 위해 string Interpolation 기능을 제공한다. String Interpolation 기능으로 상수(Constant)와 변수(Variable)를 사용하면 각 상수와 변수에 저장되어 있는 값으로 출력된다. 이 기능은 ‘( )’ 괄호(parentheses)안에 상수(Constant)와 변수(Variable)의 이름을 넣고 괄호 앞에 ‘\’(backslash)를 사용하여 사용한다. 예제는 아래와 같다.
Note - string interpolation에 대한 자세한 설명은 String Interpolation 챕터에서 자세히 볼 수 있다.
Comments
코드를 작성하면서 작성자가 기억하고 싶거나 코드 설명을 위한 실행되지않는 텍스트를 포함시킬때 주석(Comment) 기능을 활용한다.이 주석(Comments)는 컴파일단계에서 Swift 컴파일러는 코드가 아닌 문자열로 무시한다. Swift에서 주석(Comments)는 C 의 주석 기능과 거의 동일하다. 한 줄 라인 앞에 ‘//‘ (two forward-slashes)를 사용하여 주석(Comment)으로 처리할 수 있다. 예제는 아래와 같다.
이 외에도 여러 줄의 텍스트를 주석(comment)은 텍스트의 시작 부분에 ‘/*’ (foward-slash fllowed by an asterisk)를 추가하고 끝부분에는 다시 ‘*/‘ (asterisk followed by forward slash)를 추가하여 표현할 수 있다. 이 주석을 Swift에서는 다중 행 주석(Multiline Comment)라고 한다.예제는 아래와 같다.
C에서의 다중 행(Multiline Comment)와 달리 중첩 주석(Nested Comment)으로 사용할 수 있다. 예제는 아래와 같다.
중첩된 다중 행 주석(Nested Multiline Comments)는 코드내에서 큰 영역을 빠르고 쉽게 주석 처리 할 수 있으며, 이미 포함된 주석역시 함께 주석 처리 할 수 있다. C에서는 다중 행 주석(Multiline Comment)를 중첩하여 사용할 수 없다.
Semicolons
다른 언어들과 달리 Swift는 코드 내의 각각의 실행 코드문(Statement)에 ‘; ’(semicolon)을 요구하지 않는다. 하지만 사용자가 다른 언어에 익숙해서 사용하길 원하는 경우 ‘; ’을 사용해도 된다. Swift 에서도 ‘;’(semicolon)을 사용해야 하는 경우가 있는데 한 줄에 여러개의 실행 코드문(Statement)를 작성하길 원할때는 각 코드문에 ‘;’(semicolone)을 사용해야한다. 예제는 아래와 같다.
Intergers
Integers 42 나 -23와 같이 정수만을 표현하며 소수점과 같은 정수 영역을 벗어나는 수(fractical component)가 없는 수를 포함하지 않는다. Integers 타입은 Signed Integers(양수, 0, 음수)와 Unsigned Integers(양수, 0)이 있다.
Swfit는 8, 16, 32, 와 64 bit 형태의 signed integers와 unsigned integers를 제공한다. 이 Integers들의 표기 방법(naming convention)은 C와 유사하다. 8 bit의 Unsigned Integer는 UInt8, 32bit의 Signed Integers는 Int32로 표기한다. Swfit와 다른 모든 타입과 마찬가지로 첫번째 문자는 대문자로 표현한다.
Integer Bounds
Integer 타입의 값은 최대 값과 최소 값을 가지며, min과 max 속성으로 확인 할 수 있다. 예제는 아래와 같다.
이 속성들의 값은 Integer 타입 값의 범위 내에서 최대값과 최소값을 갖기때문에 같은 타입의 다른 값과 함께 사용할 수 있다.
Int
대부분의 경우 코드내에서 Integer 타입의 특정 크기(bit)를 사용할 필요는 없다. Swift는 bit수를 함께 선언하는 Interger 타입외에 Int 타입을 제공한다. 이 타입은 현재 플랫폼의 word 사이즈와 동일한 크기를 갖는다.
- 32-bit platform에서 Int 는 Int32와 같은 크기를 갖는다.
- 64-bit platform에서 Int 는 Int64와 같은 크기를 갖는다.
Interger의 특정 크기를 표시하지 않는다면 코드내에서 integer 값은 Int 로 사용된다. 이로 인해 코드의 일관성과 상호운용성을 보장할 수 있도록 돕는다. 32-bit platform에서 Int 는 -2,147,483,648 ~ 2,147,483,647의 범위에서 어떤 값이든 저장할 수 있으며 정수 값을 표현하기에 충분히 큰 범위이다.
UInt
Swift는 unsigned integer 타입을 위해 현재 플랫폼이 제공하는 word size와 동일한 크기를 갖는 UInt를 제공한다.
- 32-bit platform에서 UInt 는 UInt32와 같은 크기를 갖는다.
- 64-bit platform에서 UInt 는 UInt64와 같은 크기를 갖는다.
Note - UInt 는 unsigned integer type만 필요할때 사용한다. 그렇지 않다면 nonnegative 값을 저장할 때도 Int를 더 선호한다. 정수 값을 저장하기 위해 Int 타입을 일관성있게 사용하는 것은 다른 숫자 타입들간 변경이 필요한 상황을 피하기때문에 상호운용에 도움이 된다. Type Safety and Type Inference에서 더 자세할 내용을 볼 수 있다.
Floating-Point Numbers
실수(Floating-Point) 숫자는 3.14159, 0.1 그리고 -273.15와 같이 실수 부분이 포함된 값이다.
실수(Floating-Point) 타입은 정수형보다 더 많은 숫자를 표한 할 수 있으며 Int 값에 저장할 수 있는 수보다 더 크고 , 더 작은 를 저장 할 수 있다. Swfit는 두개의 signed floating-point 숫자 타입을 제공한다.
- Double 은 64-bit 실수(floating-point)를 표현한다.
- Float 은 32-bit 실수(floating-point)를 표현한다.
Note - Double 타입은 최소 소수점 15자리까지 정확하게 표현하고, Float 타입은 소수점 6자리까지 정확하게 표현한다. 두 타입은 코드내에서 다루는 값의 범위에 따라서 사용을 결정하지만, 일반적으로 두 타입 모두 적절한 상황에서는 Double을 선호한다.
댓글