Swift结构体

结构体是构建代码所用的一种通用且灵活的构造体。可以为结构体定义属性(常量、变量)和添加方法,从而扩展结构体的功能。

Swift结构体与 C 和 Objective C 不同的是:

1.结构体不需要包含实现文件和接口

2.允许创建一个单一文件,且系统会自动生成面向其他代码的外部接口

结构体语法:通过关键字 struct 来定义结构体:

结构体应用

在你的代码中,你可以使用结构体来定义你的自定义数据类型。

结构体实例总是通过值传递来定义你的自定义数据类型。所有结构和枚举都是Swift中的值类型。这意味着您创建的任何结构和枚举实例以及它们作为属性的任何值类型在代码中传递时,总是会复制。

按照通用的准则,当符合一条或多条以下条件时,使用结构体:

1.封装少量相关简单数据值

2.可以预计一个结构体实例在赋值或者传递时,封装的数据可以被拷贝而不是被引用

3.任何在结构体中储存的值类型属性,也将会被拷贝,而不是被引用。

4.不需要去继承另一个类的属性和行为

标准库定义的集合,如数组、字典和字符串,使用优化来降低复制的性能成本。这些集合不是立即复制,而是共享元素存储在原始实例和任何副本之间的内存。如果对集合的其中一个副本进行了修改,则在修改之前复制元素。您在代码中看到的行为总是像立即发生副本一样。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 结构体和类是通用的、灵活的结体,它们成为程序代码的构建部分。我们可以使用定义常量、变量和函数的相同语法来定义属性和...
    明若晴空阅读 1,292评论 0 0
  • 结构体和类 结构体和类作为一种通用而又灵活的结构,成为了人们构建代码的基础。你可以使用定义常量、变量和函数的语法,...
    Longshihua阅读 3,604评论 0 1
  • Swift 结构体是构建代码所用的一种通用且灵活的构造体。 我们可以为结构体定义属性(常量、变量)和添加方法,从而...
    零度_不结冰阅读 2,948评论 0 0
  • 一、类和结构体的对比 (一)、类和结构体的相同点 定义存储值的属性; 定义提供功能的方法; 定义下标以使用下标语法...
    WSJay阅读 5,683评论 2 4
  • 一 . Swift中的结构体差异 OC 和 C不同的是:1.1 结构体不需要"包实现文件" 和 "接口文件"1.2...
    by小杰阅读 2,206评论 0 0

友情链接更多精彩内容