Swift/Swift 기본문법

    Swift 기본 문법 - 9. 함수

    함수 구조체, 클래스, 열거형 등 특정 타입에 연관되어 사용하는 함수를 메서드. 모듈 전체에서 전역적으로 사용할 수 있는 함수를 그냥 함수라고 합니다. swift의 함수는 재정의(오버라이드)와 중복 정의(오버 로드)를 모두 지원합니다. 따라서 매개변수의 타입, 갯수에 따라 같은 이름의 함수를 여러 개 만들 수 있습니다. func hello(name: String) -> String { return "Hello \(name)!" } let helloJenny: String = hello(name: "Jenny") print(helloJenny) func introduce(name: String) -> String { "제 이름은 " + name + "입니다." } let introduceJenny: Str..

    Swift 기본 문법 - 8. 반복문

    반복문 for-in 구문 for i in 0...5 { if i.isMultiple(of: 2) { print(i) continue } print("\(i) == 홀수") } //0 //1 == 홀수 //2 //3 == 홀수 //4 //5 == 홀수 let helloSwift: String = "Hello Swift!" for char in helloSwift { print(char) } var result: Int = 1 // 시퀀스에 해당하는 값이 필요 없다면 와일드 카드 식별자(_)를 사용하면 됩니다. for _ in 1...3 { result *= 10 } print("10의 3제곱은 \(result) 입니다.") // 10의 3제곱은 1000 입니다. // Dictionary let friend..

    Swift 기본 문법 - 7. 흐름제어 (if, switch)

    흐름제어 다른언어와 마찬가지로 if구문, switch 구문에 대해 작성되어있습니다. () 구문을 생략 할 수 있습니다. {}는 생략 할 수 없습니다. 다만 if문에서 다른언어는 정수, 실수 등 0 이 아닌 모든 값을 참으로 취급 할 수 있었는데 스위프트에선 if 구문의 조건값이 꼭 Bool 타입이어야만 합니다. if 구문 let first: Int = 5 let second: Int = 5 var biggerValue: Int = 0 if first > second { biggerValue = first } else if first == second { biggerValue = first } else if first < second { biggerValue = second } else if first =..

    Swift 기본 문법 - 6. 연산자

    연산자 연산자는 다른언어와 비슷한 부분이 많아 몰랐던 부분만 작성하였습니다. 5.1.5 범위 연산자 값(수)의 범위를 나타내고자 할 때 사용합니다. 폐쇄 범위 연산자 : A...B : A부터 B까지의 수를 묶어 범위를 표현합니다. 반폐쇄 범위 연산자 : A.. < B : A부터 B 미만까지의 수를 묶어 범위를 표현합니다. A를 포함하고 B는 포함하지 않습니다. 단방향 범위 연산자 : A... : A 이상의 수를 묶어 범위를 표현합니다. ...A : A 이하의 수를 묶어 범위를 표현합니다. .. < A : A 미만의 수를 묶어 범위를 표현합니다. 텍스트로 봐서는 범위연산자가 어떤 값들의 범위를 나타내는것 같은데 어떻게 사용되는지 모르겠다. 뒤에 반복문에서 코드를 통해 더 자세히 살펴보자. 5.1.9 오버플..

    스위프트 기본문법 - 5. 세트(Set)

    열거형 스위프트에서 열거형이라는 말이 무엇인지 가장 궁금했다. 그냥 반복 할 수 있게 나열 한건가? 알아보자 책에선 열거형은 연관된 항목들을 묶어서 표현할 수 있는 타입입니다. 라고 적혀있다. 추가/ 수정이 불가능하고 딱 정해진 값만 열거형 값에 속할 수 있다고 한다. 미리 선언해 놓은 상수들의 집합인가? 열거형은 다음과 같은 경우 요긴하게 사용됩니다. 1) 제한된 선택지를 주고 싶을 때 2) 정해진 값 외에는 입력받고 싶지 않을 때 3) 예상된 입력 값이 한정되어 있을 때 예시를 보면 다음과 같습니다. - 무선통신 방식 : WiFI, 블루투스, LTE, 3G, 기타 - 학생 : 초등학생, 중학생, 고등학생, 대학생, 대학원생, 기타 - 지역 : 강원도, 경기도, 경상도, 전라도, 제주도, 충청도 enu..

    스위프트 기본문법 - 4. 세트(Set)

    세트(set) 세트는 같은 타입의 데이터를 순서 없이 하나의 묶음으로 저장하는 형태의 컬렉션 타입입니다. 순서가 중요하지 않거나 각 요소가 유일한 값이어야 하는 경우에 사용합니다. 세트의 선언과 생성 var names: Set = Set() var names2: Set = [] var names3: Set = ["kemi", "chulso", "younghee", "kemi"] // 중복이 제거된 값이 들어감 print(names3.count) //3 names3.insert("jenny") print(names3) //["chulso", "younghee", "jenny", "kemi"] 세트의 사용 var names: Set = Set() var names2: Set = [] var names3: S..

    Swift 기본 문법 - 4. 딕셔너리(dictionary)

    딕셔너리 요소들이 순서 없이 키와 값의 쌍으로 구성되는 컬렉션 타입입니다. 딕셔너리에서 키는 유일한 식별자이기 때문에 중복해서 사용 할 수 없습니다. 딕셔너리 선언 // 값이 Int인 빈 dictionary를 생성합니다. var numberForName: Dictionary = Dictionary() // 동작은 위와 같은 축약 표현입니다. typealias StringIntDictionary = [String: Int] var numberForNmae2: StringIntDictionary = StringIntDictionary() // 키와 값 타입을 명시 해줬다면 [:] 만으로도 빈 딕셔너리를 생성 할 수 있습니다. var numberForName3: [String: Int] = [:] // 초깃값..

    Swift 기본 문법 - 4. 컬렉션형(배열)

    컬렉션형 스위프트에서 튜플 말고도 데이터를 묶어서 저장하고 관리 할 수 있는 컬렉션 타입이 존재합니다. 배열(Arrary), 딕셔너리(Dictionary), 세트(Set)등이 있습니다. 배열 데이터를 일렬로 나열한 후 순서대로 저장하는 형태의 컬렉션 타입입니다. var names: Array = ["yagom", "chulso", "younghee", "yagom"] // 위 표현과 동일한 축약 표현 //var names:[String] = ["yagom", "chulso", "younghee", "yagom"] var emptyArray: [Any] = [Any]() // 빈요소를 같은 배열을 선언합니다. var emptyArray2: [Any] = Array() // 배열의 타입을 정확히 명시해줬다면..