print
: 단순 문자열 출력dump
: 인스턴스의 자세한 설명(description 프로퍼티)까지 출력프로그램 실행 중 문자열 내에 변수 또는 상수의 실질적인 값을 표현하기 위해 사용
\()
let a: Int = 100
var a: Int = 100
기본적으로 타입을 명시해 주어야 하고, 명시하지 않아도 타입 추론을 지원한다.
var numbers: Array<Int> = Array<Int>()
numbers.append(1)
numbers.insert(2, at: 1) // 2를 1번 index에 삽입
numbers.remove(at: 0) // 0번 index의 값 삭제
var numbers = [Int]()
var numbers : [Int] = []
var dic: Dictionary<String, Int> = Dictionary<String, Int>()
var dic: [String: Int] = ["Park":1, "Kim":2]
dic["Lee"] = 3 // 기존에 저장되어 있으면 변경, 아니면 추가
dic.removeValue(forKey: "Park")
Set은 중복 없고, 순서 없는 리스트
var set: Set = Set<Int>() // Set은 축약형 선언 없음
set.insert(1)
set.remove(1)
func 함수명(파라미터 이름: 데이터 타입) -> 리턴 타입 {
return 반환 값
}
func sum(a: Int, b:Int) -> Int {
return a+b
}
sum(a: 1, b: 2)
호출할 때 매개변수 이름을 함께 써줘야 한다.
func greeting(friend: String, me: String = "Park") {
print("Hello, \(friend)! I'm \(me)")
}
func sendMessage(from myName: String, to name: String) -> String {
return "Hello \(name)! I'm \(myName)"
}
처음에는 이해가 잘 안 됐는데, 함수를 선언할 때랑 호출할 때 매개변수 이름을 따로 쓸 수 있게 하기 위한 목적인 것 같다.
func sendMessage(_ name: String) -> String {
return "Hello \(name)"
}
매개변수 이름을 생략하고 함수를 호출하기 위해 와일드카드 식별자를 사용할 수 있다.
func sendMessage(me: String, friends: String...) -> String {
return "Hello \(friends)! I'm \(me)"
}
sendMessage(me: "Park", friends: "Kim", "Lee", "Choi")
매개변수로 몇 개의 값이 들어올지 모를 때 사용
배열 취급
함수 별로 가변 매개변수는 하나만 사용 가능
패스트캠퍼스, 초격차 패키지 : 30개 프로젝트로 배우는 iOS 앱 개발 with Swift
yagom 유튜브 채널, Swift Basic - 스위프트 기초문법 강좌