[3週間-2日間]学習まとめ


Linked List


Arrayは変更し、空白部分を埋めなければなりません.
Linkedはポインタを変えるだけなので便利です
class ArrayClass {
    var _ = Array<Int>()
    
    func push(_ element: Int) {
        self.append(element)
    }
}

inout


inoutの場合、パラメータが変更される可能性があることを示します.
swiftではinoutは書き込みを必要としません-複雑なメモリ管理や混同しやすい

Float

  • float()内演算で値が変更される場合があります
  • String


  • swiftはstring自体が遅い

  • Stringよりも効率的String Interpolation
  • Dictionary

  • 検索時はArrayより速いが、ナビゲーションとソート時は遅い
  • Access Control

    fileprivate=同じモジュールでも他のソースファイルであればアクセスできません

    等位演算子


    上記の演算子==を上書きして、たとえば2つの値またはオブジェクトを比較することができます.2 D座標等位を比較する==演算子のオーバーライド例を次に示します.
    extension Vector2D: Equatable {
        static func == (left: Vector2D, right: Vector2D) -> Bool {
            return (left.x == right.x) && (left.y == right.y)
        }
    }
    2つの座標のxとyがそれぞれ同じである場合にのみ、それらが同じであることを判別する.
    let twoThree = Vector2D(x: 2.0, y: 3.0)
    let anotherTwoThree = Vector2D(x: 2.0, y: 3.0)
    if twoThree == anotherTwoThree {
        print("These two vectors are equivalent.")
    }
    // Prints "These two vectors are equivalent."