모각코/2023 하계 모각코

0816 모각코 5회차

s.e.s 2023. 8. 16. 20:57

0. Swift란?

Swift는 iOS, macOS, watchOS, and tvOS app 개발을 위해 만들어진 언어다. C와 Objective-C와 많은 부분에서 유사하다.

객체 지향 프로그래밍, 함수형 프로그래밍의 패턴을 모두 갖고 있다. 특징은 나중에 차차 정리해볼 예정이다.

 

1. Naming

Swift는 이름을 지을 때 Camel Case를 사용한다!

함수, 메서드, 변수, 상수 -> Lower Camel Case

클래스, 구조체, 열거형, 익스텐션과 같은 타입명 -> Upper Camel Case

 

2. 콘솔 출력

- print: 단순 문자열 출력

- dump: 인스턴스의 자세한 설명까지 출력

 

3. String Interpolation

문자열 내에 변수 또는 상수의 실질적인 값을 표현하기 위해 사용

백슬래시(\)와 괄호로 표현한다 \()

 

 

let age: Int = 10
print("안녕하세요! 저는 \(age)살입니다.")

 

4. 변수와 상수

- 상수 선언 키워드: let

- 변수 선언 키워드: var

// let 이름: 타입 = 값
// var 이름: 타입 = 값

let constant: String = "hello"
let variable: String = "world"

constant = "hello world!" // 오류
variable = "hello world!" // 가능

Swift는 선언 후 나중에 값을 할당할 수 있다

단, 나중에 할당할 변수와 상수는 반드시 타입을 명시해야 한다

상수의 경우 첫 할당 이후로는 값 변경 X

변수는 계속해서 값을 변경할 수 있음

 

5. 기본 데이터 타입

Swift는 안전한 프로그래밍을 위해 데이터 타입 간의 변환이 까다롭다.

 

- Bool (true/false) : 0/1 불가능

- Int (실수, 소수 X)

- UInt (음수 X)

- Float (정수 O)

- Double (정수 O, Float X)

- Character (큰 따옴표 사용, 이모티콘 가능)

- String

 

6. Any, AnyObject, nil

Any - Swift의 모든 타입을 지칭

var someAny: Any = 100
someAny = "어떤 타입도 수용 가능"
someAny = 123.12

let someDouble: Double = someAny // 오류

AnyObject - 모든 클래스 타입을 지칭하는 프로토콜

class SomeClass {}
var someAnyObject: AnyObject = SomeClass()
someAnyObject = 123.12 // 오류

nil - 없음을 의미, null과 유사

someAny = nil //오류
someAnyObject = nil // 오류