🦉 Swift 치트시트
Apple이 개발한 현대적이고 안전한 언어
기본 문법
변수 선언
var name = "Swift"
let age = 25
var isActive = true
let maxSize: Int = 1000
조건문
if condition {
statement
} else if otherCondition {
otherStatement
} else {
defaultStatement
}
반복문
for i in 0..<10 {
print(i)
}
for item in items {
print(item)
}
함수 정의
func add(a: Int, b: Int) -> Int {
return a + b
}
func greet(name: String) {
print("Hello, \(name)!")
}
클래스와 구조체
클래스
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
func greet() -> String {
return "Hello, I'm \(name)"
}
}
구조체
struct Point {
var x: Double
var y: Double
mutating func moveBy(x deltaX: Double, y deltaY: Double) {
x += deltaX
y += deltaY
}
}
프로토콜
protocol Drawable {
func draw()
}
class Circle: Drawable {
var radius: Double
init(radius: Double) {
self.radius = radius
}
func draw() {
print("Drawing a circle with radius \(radius)")
}
}
확장
extension String {
func isEmail() -> Bool {
return self.contains("@") && self.contains(".")
}
}
옵셔널과 옵셔널 체이닝
옵셔널
var optionalName: String? = "John"
var optionalAge: Int? = nil
if let name = optionalName {
print("Name is \(name)")
} else {
print("Name is nil")
}
옵셔널 체이닝
class Person {
var pet: Pet?
}
class Pet {
var name: String
init(name: String) { self.name = name }
}
let person = Person()
let petName = person.pet?.name
nil 병합 연산자
let defaultName = "Unknown"
let name = optionalName ?? defaultName
가드문
guard let name = optionalName else {
print("Name is required")
return
}
print("Name is \(name)")