Swift 结构体struct
//结构体是一个值类型
struct location{
//属性
var x:Double
var y:Double
//方法
func test() {
print("结构体中的test函数")
}
mutating func moveH(distance:Double){
self.x+=distance
}
//结构体扩充构造函数
//默认情况下,系统会为一个结构体生成一个默认的构造函数
//构造函数是以init开头的,并且构造函数不需要返回值
//在构造函数结束时候,必须保证所有的成员属性有被初始化
//这是系统默认构造的
// init(x:Double,y:Double) {
// self.x=x
// self.y=y
// }
init(xyStr:String) {
let array = xyStr.components(separatedBy: ",")
let item1 = array[0]
let item2 = array[1]
// if let x=Double(item1) {
// self.x=x
// }
//
// if let y=Double(item2) {
// self.y=y
// }
self.x=Double(item1) ?? 0
self.y=Double(item2) ?? 0
}
}
//创建结构体对应的值
//var center=location(x: 20, y: 20) //调用系统默认的构造函数
var center=location(xyStr: "20,20")
center.test()
center.moveH(distance: 10)//水平移动10
print(center)//结构体属性变化结果 location(x: 30.0, y: 20.0)
Swift 结构体struct的更多相关文章
- Swift中元组(Tuples),结构体(Struct),枚举(Enums)之间的区别
Swift有许多种存储数据方式,你可以用枚举(enums),元组(tuples),结构体(structs),类(classes),在这篇文章中我们将比较枚举.元组.结构体之间区别,首先从最简单的开始- ...
- Swift语言精要 - 浅谈结构体(Struct)
CGRect, CGSize, CGPoint这些是 . String, Int, Array, Dictionary这些我们经常用的也是结构体(Struct). 那么结构体(Struct)到底是什么 ...
- Swift 结构体和类
//*---------------------结构体-------------*/ //swift结构体也具有封装的概念 //swift结构体比OC C语言里面的结构体更加进了一步,里面可以有方法, ...
- Swift 结构体的使用
Swift 结构体是构建代码所用的一种通用且灵活的构造体. 我们可以为结构体定义属性(常量.变量)和添加方法,从而扩展结构体的功能. 与 C 和 Objective C 不同的是: 结构体不需要包含实 ...
- C语言结构体-struct
知识点: 1)结构体的定义. 2)结构体的sizeof. 3) 结构体的指针. 1) 结构体的定义: 在逻辑上有一定关联的多个数据类型做为一整体进行操作的数据结构,它的关键字是struct.下面我将 ...
- 内核中用于数据接收的结构体struct msghdr(转)
内核中用于数据接收的结构体struct msghdr(转) 我们从一个实际的数据包发送的例子入手,来看看其发送的具体流程,以及过程中涉及到的相关数据结构.在我们的虚拟机上发送icmp回显请求包,pin ...
- C语言 - 结构体(struct)比特字段(:) 详细解释
结构体(struct)比特字段(:) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26722511 结构体(struc ...
- Go语言学习笔记(四)结构体struct & 接口Interface & 反射
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...
- 结构体(struct)大小
结构体(struct)大小 本文参考链接:C语言结构体(struct)常见使用方法,链接中的实例代码经实践有几处不准确,本文在引用时已做更改 注意:在结构体定义时不能申请空间(除非是结构体变量),不可 ...
随机推荐
- 十六 Spring的JDBC模版入门,默认连接池
Spring是EE开发一站式框架,有EE开发的每层的解决方案,Spring对持久层也提供了解决方案:ORM模块和JDBC的模版
- P1250 种树 题解
题目描述 一条街道的一边有几座房子,因为环保原因居民想要在路边种些树,路边的居民被分割成 n 块,并被编号为 1…n.每块大小为一个单位尺寸并最多可种一棵树.每个居民想在门前种些树并指定了三个数b,e ...
- ch5 对链接应用样式
简单的链接样式 对链接应用样式最容易的方式是:使用锚类型选择器,例如 a {color:red;} 链接伪类选择器:1.:link:寻找没有被访问过的链接2.:visited:寻找被访问过的链接 动态 ...
- elk基本配置
https://www.cnblogs.com/zsl-find/articles/10730458.html https://www.cnblogs.com/mylovelulu/p/1053000 ...
- 一 Hibernate入门
Hibernate环境搭建 Hibernate的API Hibernate的CRUD EE三层结构: web层 业务逻辑层 持久层 jdbc,DBUTils,Hibernate Hib ...
- Windows驱动开发-_DRIVER_OBJECT结构体
每个驱动程序会有唯一的驱动对象与之对应,并且这个驱动对象是在驱动加载的时候,被内核中的对象管理程序所创建的,内核对一个驱动只加载一个实例,是由内核中的I/O管理器负责加载的,驱动程序需要在Driver ...
- Codeforces 591 B:Rebranding
B. Rebranding time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- http协议请求报文与响应报文分析
什么是HTTP协议: HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到 不断地完善和扩展.目前在WWW中使用 ...
- 《新标准C++程序设计》4.2-4.3(C++学习笔记13)
一.重载赋值运算符“=” 赋值运算符“=”要求左右两个操作数的类型是匹配的,或至少是兼容的.有时候希望赋值运算符两边的类型可以不匹配,比如,把一个int类型变量赋值给一个Complex对象,或把一个 ...
- centos7下安装maven
步骤1:在home目录下解压apache-maven-3.5.0-bin.tar.gz安装包 [root@model ~]# -bin.tar.gz 步骤2:创建/maven目录并将解压后的文件夹移至 ...