zoukankan      html  css  js  c++  java
  • Swift中数组和字典都是值类型

    在 Swift 中,所有的基本类型:整数(Integer)、浮点数(floating-point)、布尔值(Boolean)、字符串(string)、数组(array)和字典(dictionary),都是值类型,并且在底层都是以结构体的形式所实现。类是引用类型

    1.测试数组是否为值类型

    var testArray = [String]()
    
    testArray.append("AA")
    testArray.append("BB")
    testArray.append("CC")
    
    var testArray2 = testArray
    
    print("testArray:(testArray)")
    print("testArray2:(testArray2)")
    
    testArray2.removeAll()
    print("removeAll操作完成之后----")
    
    print("testArray:(testArray)")
    print("testArray2:(testArray2)")

    结果截图:

    2.测试字典是否为值类型

    var testDic = [String: String]()
    
    testDic.updateValue("AA", forKey: "11")
    testDic.updateValue("BB", forKey: "22")
    testDic.updateValue("CC", forKey: "33")
    testDic.updateValue("DD", forKey: "44")
    
    print("testDic:(testDic)")
    
    var testDic2 = testDic
    
    print("testDic2:(testDic2)")
    
    testDic2.removeAll()
    
    print("removeAll操作完成之后-----")
    
    print("testDic2:(testDic2)")
    print("testDic:(testDic)")

    结果截图:

    3.测试类是否为引用类型

    class Person {
        var name: String?
        var age: Int = 20
        
        func sayHello() {
            print("Hello, My name is (name), My age is (age)")
        }
        
    }
    
    var p1 = Person()
    var p2 = p1
    
    print("p1:(p1)")
    print("p2:(p2)")
    
    //sayHello
    print("sayHello:")
    p1.sayHello()
    p2.sayHello()
    
    //修改p1的名字
    print("修改p1的name:")
    p1.name = "Zhang San"
    
    p1.sayHello()
    p2.sayHello()

    测试截图:

  • 相关阅读:
    『深度应用』NLP机器翻译深度学习实战课程·零(基础概念)
    Sorl初始
    Hadoop简介
    lucene的分词器宝典
    Lucene 更新、删除、分页操作以及IndexWriter优化
    Lucene 初步 之 HelloWorld
    lucene介绍和存储介绍
    Spring 集成rabbiatmq
    RabbitMQ 之消息确认机制(事务+Confirm)
    RabbitMQ 的路由模式 Topic模式
  • 原文地址:https://www.cnblogs.com/wobuyayi/p/6396834.html
Copyright © 2011-2022 走看看