[swift 문법] 1단원 스위프트 기초

    consol log

    -print

    -dump

    -문자열 보간법 : 프로그램 실행 중 문자열 중간에 변수 또는 상수의 실질적인 값을 표현

    import swift 
    
    let age : Int = 19
    
    print("안녕하세요! 저는 \(age)살 입니다!")		//19
    
    print("안녕하세요! 저는 \(age+5)살 입니다!")	//24
    class Person {
    	var name : Stirng = "me"
        var age : Int = 20 
    }
    
    let people : Person = Person()
    
    print (people)	//데이터의 주소
    
    dump (people)	//주소와 내용

     

    상수와 변수

    -let

    -var

    let 이름: 타입 = 값
    
    var 이름: 타입 = 값
    
    //띄어쓰기를 신경쓸 것!

    타입이 명확하다면 생략도 가능

    나중에 할당하는 변수는 타입을 반드시 명시해야 함. 

     

    기본 데이터 타입

    //Bool 
    var b: Bool = true //0이나 1은 안됨
    
    //Int 
    var i:Int = -100
    
    //UInt 
    var ui: UInt = 100	//음수 불가
    
    //Float 
    var f: Float = 3.14
    
    //Double 
    var d: Doublt = 3.14
    
    //Character
    var c: Character = "🥹"	//한글자, 혹은 유니코드로 표현 할 수 있는 모든 것! 그치만 여러 글자는 넣을 수 없음
    
    // String 
    var s: String = "example"	//캐릭터 타입과 자료교환 암시적으로 불가

     

    Any, AnyObject, nil

    // Any
    var someAny: Any = 100
    someAny = "어떤 타입도 수용 가능"
    someAny = 123.12
    
    // AnyObject : 클래스 인스턴스만 
    
    class SomeClass {}
    var someAnyObject: AnyObject = SomeClass()
    
    //nil = null

     

    collection type (Array, Dictionary, Set)

    -Array : 순서가 있는 리스트 컬렉션 (배열)

    -Dictionary: 키와 값의 쌍

    -Set: 순서가 없고 맴버가 유일

    //Array
    
    var i: Array<Int> = Array<Int>()	//빈 Array 생성
    i.append(1)
    i.append(100)
    
    i.contains(100) //true
    i.contains(99)	//false
    
    i.remove(0)	//1 삭제
    i.removeLast()	//100삭제
    i.removeAll()
    
    i.count 	//0
    
    var s: [String]()
    
    var d: Array<Double> = [Double]()
    
    var c: [Character] = []
    
    let i = [1,2,3]
    //	변경 불가능
    
    //Dictionary
    
    var dic: Dictionary<String, Any> = [String: Any]()
    dic["one"] = "1"
    dic["two"] =2
    
    dic //["one":"1","two":2]
    
    dic.removeValue(forKey: "one")
    
    dic["two"] = nil
    
    // 3. 불변 Dictionary: let을 사용하여 Dictionary 선언
    let emptyDictionary: [String: String] = [:]
    let initalizedDictionary: [String: String] = ["name": "yagom", "gender": "male"]
    
    // 1. Set 생성 및 선언
    var integerSet: Set<Int> = Set<Int>()
    
    // insert : 새로운 멤버 입력
    // 동일한 값은 여러번 insert해도 한번만 저장됩니다.
    integerSet.insert(1)
    integerSet.insert(99)
    integerSet.insert(99)
    integerSet.insert(99)
    integerSet.insert(100)
    
    print(intigerSet) // {100, 99, 1}
    
    // contains: 멤버 포함 여부 확인
    print(integerSet.contatins(1)) // true
    print(integerSet.contains(2)) // false
    
    // remove: 멤버 삭제
    integerSet.remove(99) // {100, 1}
    integerSet.removeFirst() // {1}
    
    // count: 멤버 개수
    integerSet.count // 1
    
    
    // 2. Set의 활용
    // 멤버의 유일성이 보장되기 때문에 집합 연산에 활용하면 유용합니다.
    let setA: Set<Int> = [1, 2, 3, 4, 5]
    let setB: Set<Int> = [3, 4, 5, 6, 7]
    
    // 합집합
    let union: Set<Int> = setA.union(setB)
    print(union) // [2, 4, 5, 6, 7, 3, 1]
    
    // 합집합 오름차순 정렬
    let sortedUnion: [Int] = union.sorted()
    print(sortedUnion) // [1, 2, 3, 4, 5, 6, 7]
    
    // 교집합
    let intersection: Set<Int> = setA.intersection(setB)
    print(intersection) // [5, 3, 4]
    
    // 차집합
    let subtracting: Set<Int> = setA.subtracting(setB)
    print(subtracting) // [2, 1]

    댓글