[Swift] 기초(1/5) - 욕심쟁이 스위프트와 변수와 상수, 기본 데이터 타입 및 컬렉션
글 작성자: 만렙개발자
1. 욕심쟁이 스위프트
- 명령형 프로그래밍 패러다임
- 함수형 프로그래밍 패러다임
- 객체지향 프로그래밍 패러다임
- 프로토콜 지향 프로그래밍 패러다임
2. 네이밍 룰
- 함수, 인스턴스: 소문자 카멜케이스(Lower Camel Case)
- 구조체, 클래스, 익스텐션, 프로토콜, 열거형: 대문자 카멜 케이스(Upper Camel Case)
3. 변수와 상수
- 변수
- var [변수명]: [데이터 타입] = [값]
- ex1)
var name: String = "lv99"
- ex2)
var name: "yagom"
(타입 추론에 의한 자동 타입 설정)
- 상수
- let [상수명]: [데이터 타입] = [값]
- ex1)
let name: String = "lv99"
- nil: 널(NULL) 값 = 빈 값
4. 기본 데이터 타입
- Bool, Int, Int64, UInt, Float, Double, Character, String
- 기본 프로퍼티 및 함수
Int.max
,Int.min
String.append()
- 형변환 자동으로 X
- Any, AnyObject
5. 함수
- 함수의 기본 형태
func function_name(parameters) -> return_type { //some_codes return } // example func helloWorld(language: String) -> String { let result: String = "Hello \(language) World!" return result } print(helloWorld(language:"Swift"))
- 오버라이드(재정의): 매개변수의 타입이 다른 것
- 오버로드(중복정의): 매개변수 개수가 다른 것
6. 컬렉션
- Array
- Linked list로 구현되어있음
// 빈 String Array 생성 var emptyArray: [String] = Array<String>() var emptyArray: [String] = [String]() var emptyArray: [String] = [] // String Array 생성 및 초기화 var exampleArray: Array<String> = ["lv", "99", "tistory", "swift"] var exampleArray: [String] = ["lv", "99", "tistory", "swift"]
- 프로퍼티
isEmpty
,count
,first
,last
- 함수
index(of:)
,append(_:)
,insert(_:at:)
,remove(_:)
,remove(at:)
,removeFirst()
,removeLast()
- 서브스크립트
array_name[3 ... 7]
- Linked list로 구현되어있음
- Dictionary
- 딕셔너리의 key는 여러 값으로 이루어질 수 있지만, 유일해야함
- 존재하지 않는 key에 접근할 경우, nil 반환 (에러X)
// Key: String, Value: Int의 빈 딕셔너리 생성 var stringKeyIntValue: Dictionary<String,int> = Dictionary<String,int>() // [String: Int] == Dictionary<String, int> var stringKeyIntValue: [String: Int] = [String: Int]() var stringKeyIntValue: [String: Int] = [:] // Key: String, Value: Int의 딕셔너리 초기화 및 생성 var stringKeyIntValue: [String:Int] = ["lv":99, "swift":1]
- 프로퍼티
- -isEmpty, count,
- 함수
- removeValue(forKey:)
- Set
- 정렬되지 않은 유일한 원소(값)들의 컬렉션
- 선언 (Declaration)
@frozen struct Set<Element> where Element : Hashable
- 예제
let ingredients: Set = ["cocoa beans", "sugar", "cocoa butter", "salt"] if ingredients.contains("sugar") { print("No thanks, too sweet.") } // Prints "No thanks, too sweet."
- 예제1
if primes.isEmpty { print("No primes!") } else { print("We have \(primes.count) primes.") } // Prints "We have 4 primes." let primesSum = primes.reduce(0, +) // 'primesSum' == 17 let primeStrings = primes.sorted().map(String.init) // 'primeStrings' == ["2", "3", "5", "7"]
- 프로퍼티
- isEmpty, count, capacity
- 함수
contains(_:)
,isSubset(of:)
,isSuperset(of:)
,union(_:)
,intersection(_:)
,subtracting(_:)
References
'👾 잔잔바리 > Swift' 카테고리의 다른 글
[Swift] 기초(3/5) - 옵셔널, 구조체, 클래스 (0) | 2020.06.21 |
---|---|
[Swift] 기초(2/5) - 조건문, 반복문, 제어전달문, 클로저, 열거형 (0) | 2020.06.12 |
VS code에서 swift 개발하기 (Visual Studio code에서 스위프트 컴파일) (0) | 2020.06.10 |
댓글
이 글 공유하기
다른 글
-
[Swift] 기초(3/5) - 옵셔널, 구조체, 클래스
[Swift] 기초(3/5) - 옵셔널, 구조체, 클래스
2020.06.21 -
[Swift] 기초(2/5) - 조건문, 반복문, 제어전달문, 클로저, 열거형
[Swift] 기초(2/5) - 조건문, 반복문, 제어전달문, 클로저, 열거형
2020.06.12 -
VS code에서 swift 개발하기 (Visual Studio code에서 스위프트 컴파일)
VS code에서 swift 개발하기 (Visual Studio code에서 스위프트 컴파일)
2020.06.10