//***********swift学习之18--结构体--***************************

// Swift 结构体是构建代码所用的一种通用且灵活的构造体。

// 我们可以为结构体定义属性(常量、变量)和添加方法,从而扩展结构体的功能。

// 我把它比喻成:数据模型的实例化对象。

// 例如:

struct StudentMarks {

var mark1 = 100

var mark2 = 200

var mark3 = 300

}

// 结构体实例化使用 let 关键字:

let studentMark = StudentMarks()

print("mark1:\(studentMark.mark1)")

print("mark2:\(studentMark.mark2)")

print("mark3:\(studentMark.mark3)")

// 通过结构体实例化时传值并克隆一个结构体:

struct MarkStruct {

var mark:Int

init(mark:Int) {

self.mark = mark

}

}

var testMark1 = MarkStruct(mark:97)

var testMark2 = testMark1  // aStruct 和 bStruct 是使用相同值的结构体!

testMark2.mark = 98

print("testMark1 的mark:\(testMark1.mark)")

print("testMark2 的mark:\(testMark2.mark)")

/*   结构体应用

结构体实例总是通过值传递来定义你的自定义数据类型。

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

a.结构体的主要目的:是用来封装少量相关简单数据值。

b.有理由预计一个结构体实例在赋值或传递时,封装的数据将会被拷贝而不是被引用。

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

d.结构体不需要去继承另一个已存在类型的属性或者行为。

结构体实例是通过值传递而不是通过引用传递。

*/

swift_018(Swift 的结构体)相关推荐

  1. iOS(OC、swift) 结构体和类的区别

    OC: 相同点:都可以将多个数据封装为一个整体. 不同点: 1. 结构体只能封装数据,而类还可以封装行为. 2. 赋值 :结构体是(拷贝),对象之间是(地址) 3. 结构体变量分配在栈空间(如果是一个 ...

  2. Swift Struct结构体

    一天一步,快乐前进: 结构体: 结构体就是结构化程序的产物.结构体是由另个或多个类型相同或者不同的数据组成的数据集合,其中的数据或者方法被称为它的成员或成员方法.结构体的成员可以包括属性,类型别名.数 ...

  3. swift string转int_swift中结构体和类的区别(值类型和引用类型的区别)

    在swift中结构体和类有着更多的相同之处,在一般的使用中能够做到互相替换.我们可以先看看官方文档的描述: Unlike other programming languages, Swift does ...

  4. Swift 类和结构体总结

    Swift 类和结构体总结 类和结构体都是多功能而且灵活的结构,它们可以作为构建块(building block)在代码中使用.你可以为类和结构体定义属性和方法来扩充它们的功能.对于自定义类,Swif ...

  5. Swift学习笔记 (十八) 结构体和类

    结构体和类作为一种通用而又灵活的结构,成为了人们构建​代码的​基础.你可以使用定义常量.变量和函数的语法,为你的结构 体和类定义属性.添加方法. 与其他编程语⾔所不同的是,Swift 并不要求你为自定 ...

  6. Swift 类和结构体

    Swift 中结构体和类的功能更加相近 结构体和类对比 Swift 中结构体和类有很多共同点.两者都可以: 定义属性用于存储值 定义方法用于提供功能 定义下标操作用于通过下标语法访问它们的值 定义构造 ...

  7. 08--swift之类与结构体

    2019独角兽企业重金招聘Python工程师标准>>> 1.简介 和c语言不同,在swift中结构体和类有相同的结构,都具有属性和方法 但是不要求定义和实现在两个文件中 2.类与结构 ...

  8. IOS中结构体(struct)

    IOS中之struct(结构体) 前言 struct的基本语法 struct 和class的区别 class和struct比较,优缺点? struct的优势 使用Struct和Protocol来实现m ...

  9. Object-C---gt;Swift之(八)类和结构体

    在Swift中类和结构体有高度的相似性.二者主要区别是: 1. 结构体不支持继承 2. 结构体不支持定义析构器 3. 结构体是值类型,而类是引用类型 定义类语法格式: [修饰符]class 类名 { ...

最新文章

  1. ndk-build 参数NDK_APPLICATION_MK问题
  2. ucontext实现的用户级多线程框架3(实现echo服务器)
  3. interrupt InterruptException
  4. 第8部分 管理磁盘存储
  5. java记事本获取当前时间_calendar 用Java写的日历,有查询时间日期,还有记事本以及到点提醒功能。 Develop 238万源代码下载- www.pudn.com...
  6. 搜索一个问题 C、C++判断操作系统 是 Linux还是windows 还是Unix【编译器内置宏 探索(不是特别满意)】...
  7. Windows 命令行及Git操作
  8. 09-Python入门学习-函数基础与参数
  9. Unity3D导出的EXE不用显示分辨率选择界面
  10. Mac下关于ssh命令的简化
  11. 专访「算法之父」Michael Saunders:人工智能未来的突破点可能在自动驾驶
  12. 运行时错误91问题汇总
  13. Docker 启动镜像
  14. linux上项目运行日志导致磁盘空间不够的问题
  15. 电路的网孔电流法建模 matlab,第3节 网孔电流法
  16. Windows平台下搭建Qt编译环境(VS2008)
  17. MSN,QQ网上登陆
  18. linux手机刷机包制作工具_我也来自己做刷机包
  19. 注意!2022年下半年pets5正在报考中
  20. 【高等数学】一元函数微积分学

热门文章

  1. linux下通过inotify-tools监控文件系统
  2. docker笔记-docker-container
  3. AOP和IOC的作用
  4. Redis数据类型操作(一) —— String
  5. cygwin中 unable get setup.ini from... 的错误问题
  6. 利用XSLT把ADO记录集转换成XML
  7. Ubuntu 进阶命令——长期不定时更新
  8. spring boot 下载
  9. CCNA 之 三 TCP/IP 及 子网划分
  10. Myeclipse使用过程配置汇总