-
201107 - TILTIL/2021 2020. 11. 8. 02:19
Swift Grammar
오늘도 Keyword를 통한 복습을 했다.
//: # Swift 특징 // Safe, Fast, Expressive // OOP -> FP, POP //: # Swift 기초 // Token: 나눌수없는, // 공백과 구두점으로 나눌수 없는, // Keyword, Identifier, Operator, Literal... // Expression: Evaluate, 한가지 값 도출, 하나이상 token // Statement: 하나이상 expression, 작업, // Literal: 문자그대로, 메모리 없음 // Identifier: 이름, // 대소문자구분, 숫자로시작 X, 공백 X, Keyword X // Keyword: 이미 정해놓은 문자. // Compile : 4가지, Preprocess, compile, assemble, rink // Build: compile + 실행파일 생성 // Runtime: 실행파일로 실행, Complie Time 이후 // First Class Citizen: 3가지, 상수변수저장, 리턴가능, 파라미터로 전달가능
알고 있는 내용을 말로 설명하는 식으로 하면서 이런식으로 playground에 키워드를 적고 책과 강의를 다시 보며 부족하거나 빠진 부분을 복습중이다.
//: # Variable, Constant // 메모리에 값을 저장하는 방법 // constant: let, stack, 초기화 // Variable: var, 변경가능 // UpperCamal: Type // lowerCamel: 나머지 // Scope: 코드범위, {}, global, local, // 규칙들 : 1. 같은 스코프에서 같은이름 사용불가 // 2. 같은 스코프에서 선언되기 전의 상수 변수를 인식을 못한다. // 3. 상위스코프에서는 하위스코프에 정의된 상수,변수 접근하지 못한다 // 4. 하위는 접근이 가능하다. // 5. 같은 이름일떄는 가장 인접한 스코프의 정의에 따른다.
//: Data Type // Int, UInt // 기본 8Byte // Double, Float // Float 4Byte, 6자리 정확도, Double 8Byte 15자리 정확도 // Bool // true, false, 1Byte // String, Character // 문자열 16Byte, 문자 1Byte, "" // Type Safety: Type다르면 호환 안됨 // Type Annotation: 직접 Type 지정 // Type Inference: Swift가 추론, Int, Double, String, Bool 가능 // Type Conversion: 메모리에 생성, Int() 생성자 이용 Casting과 다르다. // Type Alias: typealias 이름 = 존재하는 Type, 별칭붙이기 가독성up //: # Tuple // Custom Data Type // () // Tuple의 멤버의 수는 수정이 불가능 하다. // 접근은 0-index, Tuple.0 Explicit Member Expression(점문법) // Named Tuple, (name: value), 접근은 Explicit Member Expression(점문법) , 0-index 다 가능 // Tuple Decomposition let tuple = (name: "Beepeach", age: 28) var (name, _) = tuple name // Tuple matching let peopleA = (age: 30, height: 180.3, address: "Korea") if peopleA.age == 30 && peopleA.height == 180.3 && peopleA.address == "Korea" { print("He may be peopleA") } switch peopleA { case (30, 180.3, "Korea"): print("He may be peopleA") case (_, _, "Korea"): print("He lives Korea") default: break }
728x90'TIL > 2021' 카테고리의 다른 글
201110 - TIL (0) 2020.11.11 201108 - TIL (0) 2020.11.09 201106 - TIL (0) 2020.11.07 201104 - TIL (0) 2020.11.04 201102 - TIL (0) 2020.11.03