본문 바로가기

스피드 문법정리

(18)
13. Enumeration Enumeration 연관된 상수들을 하나의 묶음으로 묶은 자료형이 열겨형, 각 상수는 상수라 부르지 않고 Enumeration Case라고 부름 열거형을 사용하는 이유는 코드의 가독성과 안정성이 높아짐 enum TypeName { case caseName case caseName, caseName } enum Alignment { case left case center case right } Alignment.center // center var textAlignment = Alignment.center textAlignment = .left if textAlignment == .center { } switch textAlignment { case .left: print("left") case .rig..
12. Collection Collection 데이터 모음을 효율적으로 처리하기 위해서 사용하는 특별한 자료형 설명 예시 Foundation Collection 콜랙션을 참조 형식으로 사용해야할 때 객채형식의 데이터만 저장 가능 모든 자료형 가능 NSArray, NSDictionary, NSSet Swift Collection 콜랙션을 값 형식으로 사용해야할 때 객체형식, 값 형식 모두 가능 동일한 자료형만 저장 가능 Array, Dictionary, Set Copy - on - write Swift Collection은 값 형식으로 반드시 복사가 필요한 경우만 복사를 실행함, 콜랙션이 변경되지 않는다면 항상 동일한 데이터 사용, 특정 시점에 콜랙션을 변경한다면 그 시점에 복사본을 생성하고 변경사항 적용 Array 데이터를 순서대..
9. Functions Functions 특정 기능을 실행하는 코드 조각, 불필요한 코드의 반복을 줄임 Calling Functions 함수를 호출하는 문법 functionName(parameters) Defining Functions 사용자가 직접 만든 함수 func name(parameters) -> ReturnType { statements } Return Values 리턴 값이 있는 함수, 함수에서 리턴을 선언했다면 리턴 문을 통해 반드시 값을 리턴, 함수가 리턴한 값은 함수를 호출하는 부분으로 전달, 함수 호출식이 표현식이고 함수가 리턴한 값은 표현식의 결과, 함수의 return 형이 선언되어있다면 return 키워드 다음에 표현식을 평가한 후 그 결과를 return 함 func name(parameters) -> R..
7. Control Transfer Statements, Labeled Statements Control Transfer Statements Transfer Control (제어를 전달한다) 현재 실행중인 스코프에서 코드를 중지하고 다음에 실행할 코드를 바로 실행 Break Statements 현재 실행중인 문장을 중지하고 이어지는 다음문장 실행, 반복문과 Switch 문에서 사용, 가장 인접한 문장만 종료 Contiune Statements 반복문에서만 사용, 현재 실행중인 반복을 중지하고 다음 반복을 실행, 가장 인접한 문장에만 영향을 줌 Labeled Statements 특정 문장에 이름을 붙이고 break, continue 를 통해 특정문장을 종료하거나 다음문장으로 실행시킴 Label : statement break Label continue Label outer for i in 1....
6. Loop Statements For-in Loop 지정된 범위, 컬랙션을 반복하거나 열거할 수 있고 중첩도 가능 반복 상수는 range의 lower bound, upper bound 와 동일한 자료형 for loopConstant in Range { statements } for loopConstant in Collection { statements } 반복 상수의 자료형은 Range의 Lower Bound, Upper Bound와 동일 for index in 1...3 { print(index) } // 1, 2, 3 0~9 (10 미포함)에서 3의 배수 첫번째 파라미터에 시작할 범위, 두번째 파라미터에 종료할 범위 (종료할 범위는 실제범위에는 미포함), 세번째 파라미터 배수설정 for num in stride(from : 0, ..
5. Conditional Statements If Statement If 조건을 평가한 후 그 값이 참이면 statements를 실행 if condition { statements } If else if condition { statements } else { statements } If else if if condition { statements } else if condition { statements } else { statements } If 문장은 까다로운 문장에서 -> 느슨한 문장으로, 범위가 좁은 문장에서 -> 범위가 넓은 문장으로 Switch 값의 일치 여부에 따라서 실행할 코드를 결정, pattern이나 value 매칭에 자주 사용됨 switch valueExpression { case pattern: statements case ..
4. Operators Operators 설명 예시 Operator (연산자) 연산을 수행하기 위해 사용되는 문자 +, -, 등 Operand (피연산자) 계산에 사용되는 값 Unary Operator (단항연산자) 피연산자가 1개인 경우 +a Binary Operator (이항연산자) 피연산자가 2개인 경우 a + b Ternary Operator (삼항연산자) 피연산자가 3개인 경우 a ? b : c Prefix Operator (전치연산자) 연산자가 피연산자 앞에 있는 경우 +a Postfix Operator (후치연산자) 연산자가 피연산자 뒤에 있는 경우 a+ Infix Operator 피연산자 사이에 있는 경우 a + b Operators 종류 Operators 종류 예시 Unary Plus Operator +a Un..
3. Data Type, Type Inference, Type Safety, Type Conversion, Type Alias Data Type Data type이란 저장되는 데이터의 종류에 따른 형태로 저장되는 값의 종류와 범위에 따라 다르게 표현하고 변수에 저장하는 값의 종류와 범위에 따라 다른 자료형을 사용하여 변수를 선언 해야함 Data Type Integer Type 정수형 변수 Floating - Point Type (실수형 변수) Float 실수 6자리 Double 실수 15자리 Boolean 참과 거짓으로 표현 String 문자열 저장 Characters 문자 저장 Type Inference 자료형을 직접 선언하지 않아도 자료형을 알아서 추론해주는 기능, 반드시 초기값이 있어야 추론이 가능, 추론을 할 경우에는 같은 자료형이라도 큰 범위를 선택 ex)실수는 Double, 문자는 문자열 Type Annotation ..