2016년 부터 Swift로 개발해 오고 있지만 Basics부터 차근차근 핵심 내용과
추가적인 코멘트와 정보를 덧붙여 정리해보려고 한다.
Swift 특징
스위프트는 iOS, macOS, watchOS, tvOS 앱 개발을 위한 개발언어
스위프트는 정수의 경우 Int,
부동소수점 값의 경우 Double and Float,
부울 값의 경우 Bool,
텍스트 데이터의 경우 String을 포함하여,
Collection 타입의 세 가지 기본 유형인 Array, Set 및 Dictionary를 제공합니다.
그 외 Tuple 등 오브젝티브-C에서 찾아볼 수 없는 고급 타입을 제공한다.
Swift는 Type Safe한 언어이며, 코드가 사용할 수 있는 유형을 명확하게하는 데 도움이됩니다.
Type Safe한 언어의 장점은 컴파일 타임과 런 타임에서 안정성과 퍼포먼스 면에서 크게 향상된다.
Constants and Variables
상수, 변수 선언 - 타입 추론
let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0
코드에 저장된 값이 변경되지 않으면 항상 이 값을 let으로 선언. 변경할 수 있는 값을 저장할 때만 var를 사용.
개인적으로 스위프트의 많은 개념에서 가장 중요한 핵심 문장이라고 생각하는데 공식 문서에 참고로 표시되고 있다.
여러 상수 또는 여러 변수를 쉼표로 구분하여 한 줄에 선언할 수 있다.
var x = 0.0, y = 0.0, z = 0.0
최종 변수 이름 뒤에 Type을 정의하여 쉼표로 구분된 동일한 유형의 여러 변수를 정의할 수 있다.
var red, green, blue: Double
예약된 Swift 키워드와 동일한 이름을 let 또는 var에 지정해야 하는 경우, 해당 키워드를 백틱으로 둘러싸십시오(`)
이름으로 사용할 때.그러나 선택권이 전혀 없는 경우가 아니라면 키워드를 이름으로 사용하지 마십시오.
Semicolons
한 줄에 여러 개의 statement를 쓰려면 세미콜론이 필요하다.
let cat = "🐱"; print(cat)
// Prints "🐱"
Integers
Swift는 부호, 미부호 정수에 대해 각각8, 16, 32, 64비트 형태로 제공한다. 미부호 8비트는 UInt8, 32비트 부호 정수의 유형은 Int32로
Swift의 모든 타입과 마찬가지로, Int 타입은 대문자로 된 이름을 가지고 있다.
Integer Bounds
Integer의 기본 크기는 시스템 플랫폼을 따라가는 것이 일반적이다. iPhone 5S부터 64bit Architecture가 적용되었다.
On a 32-bit platform, Int is the same size as Int32.
On a 64-bit platform, Int is the same size as Int64.
실제 부호, 미부호 정수 타입 비교
Signed Integer
print("Int : \(Int.min) >> \(Int.max)")
print("Int8 : \(Int8.min) >> \(Int8.max)")
print("Int16 : \(Int16.min) >> \(Int16.max)")
print("Int32 : \(Int32.min) >> \(Int32.max)")
print("Int64 : \(Int64.min) >> \(Int64.max)")
> Int : -9223372036854775808 >> 9223372036854775807
> Int8 : -128 >> 127
> Int16 : -32768 >> 32767
> Int32 : -2147483648 >> 2147483647
> Int64 : -9223372036854775808 >> 9223372036854775807 //기본 Integer 타입과 동일
Unsigned Integer
print("UInt : \(UInt.min) >> \(UInt.max)")
print("UInt8 : \(UInt8.min) >> \(UInt8.max)")
print("UInt16 : \(UInt16.min) >> \(UInt16.max)")
print("UInt32 : \(UInt32.min) >> \(UInt32.max)")
print("UInt64 : \(UInt64.min) >> \(UInt64.max)")
> UInt : 0 >> 18446744073709551615
> UInt8 : 0 >> 255
> UInt16 : 0 >> 65535
> UInt32 : 0 >> 4294967295
> UInt64 : 0 >> 18446744073709551615 //기본 UInt와 동일, iOS 64bit
Floating-Point Numbers (부동소수점 숫자)
부동 소수점은 소수를 표현하기 위한 방법으로 3.14159, 0.1, -273.15
부동 소수점 타입은 정수 유형보다 훨씬 넓은 범위의 값을 나타낼 수 있으며, 정수형이 저장 가능한 값보다 훨씬 크거나 작은 숫자를 저장할 수 있다.
Swift는 두 가지 부호 부동 소수점 타입을 제공한다.
Double - 64비트 부동 소수점 숫자를 나타낸다.
Float - 32비트 부동 소수점 숫자를 나타낸다.
Double
print("Double : \(Double.leastNormalMagnitude) >> \(Double.greatestFiniteMagnitude)")
print("Double2 : \(Double.leastNonzeroMagnitude) >> \(Double.greatestFiniteMagnitude)")
> Double : 2.2250738585072014e-308 >> 1.7976931348623157e+308
> Double2 : 5e-324 >> 1.7976931348623157e+308
Float
print("Float : \(Float.leastNormalMagnitude) >> \(Float.greatestFiniteMagnitude)")
print("Float2 : \(Float.leastNonzeroMagnitude) >> \(Float.greatestFiniteMagnitude)")
> Float : 1.1754944e-38 >> 3.4028235e+38
> Float2 : 1e-45 >> 3.4028235e+38
두 유형 중 일반적으로는 Double이 선호된다.
'Develop > Swift' 카테고리의 다른 글
Advances in Collection View Layout (0) | 2022.09.04 |
---|---|
Figma 자동 익스포트 for Xcode, Android Studio (0) | 2022.08.28 |
[iOS][Swift] WiFi AP 목록 스캔 또는 장치 연결 (1) | 2022.08.28 |
Swift 요약 1 (0) | 2022.05.08 |
Swift Basics 2부 (0) | 2022.05.08 |