《Swift学习笔记》12 - 类和结构体的简单介绍

2019-08-15  本文已影响0人  ShIwEn9

介绍:Swift 语言由苹果公司在 2014 年推出,用来撰写 Mac OS 和 iOS 应用程序,并且Swift还是开源的,开源地址:https://github.com/apple/swift,同时附上官方博客地址:https://swift.org
目前Swift已经发展到了第五版本。显然苹果大有推翻 OC “江山”的意思.
今天就来初探一下Swift,看看究竟为何swift有这么大的能力。
参考内容:
Swift中文
YungFan老师

swift

一、结构体的简单介绍

1. 结构体的定义
struct 结构体名称 {
    // 属性和方法
}
struct structName {
    var width = 0.0
    var height = 0.0
    func structFunc() {
        print("structFunc1")
    }
}
2. 结构体的初始化
//结构体的实例化对象
let someStructName = structName()
3. 结构体成员初始化器
// 结构体成员初始化器
var someStructName1 = structName(width: 10, height: 10)
4. 访问属性
//访问属性
print(someStructName, someStructName.width, someStructName.height)
someStructName.structFunc()
5. 修改变量属性
someStructName1.width = 12.0
someStructName1.height = 13.0
print(someStructName1, someStructName1.width, someStructName1.height)
6. 结构体和枚举是值类型

这意味着你所创建的任何结构体和枚举实例——和实例作为属性所包含的任意值类型——在代码传递中总是被拷贝的。
再次声明: Swift 中所有的基本类型——整数,浮点数,布尔量,字符串,数组和字典——都是值类型,并且都以结构体的形式在后台实现。

// 关于值类型
var hd = someStructName1
hd.width = 11.0
someStructName1.width // print: 10

枚举也相同。

二、类的简单介绍

1. 类的声明
Swift中用 class 关键字定义类

class 类的名称 {
    // 属性和方法
}

// 举例 
class className{
    var name = "annwn"
    var age = 23
    var sex = "男"
    func say() -> () {
        print("求职中...")
    }
}

2. 类的实例化

var annwnClass = className()

3. 访问类的属性和方法
直接可以通过点语法实现

annwnClass.name = "shiwen9"
annwnClass.age = 22
annwnClass.say()

3. 类是引用类型

下面我们 annwnClass 赋值给 annwnclass2 当我们改变 annwnclass2的属性值name会发现 annwnClass .name的值也改变了。

// 类是引用类型
var annwnclass2 = annwnClass

annwnclass2.name = "best 稳"

print(annwnClass.name)

4. 特征运算符
因为类是引用类型,有可能有很多常量和变量都是引用到了同一个类的实例。有时候找出两个常量或者变量是否引用自同一个类实例非常有用。
Swift提供了两个特点运算符:

if annwnClass === annwnclass2 {
    print("相同于")
}


if annwnClass !== annwnclass2 {
    print("不相同于")
}
三、类和结构体的异同和如何选择

1. 类和结构体的异同

注意:结构体在你的代码中通过复制来传递,并且并不会使用引用计数。

2. 类和结构体之间的选择

类和结构体的介绍就到这里了。有什么不足的地方欢迎补充。文章大多数内容来自:

Swift中文
YungFan老师
再次感谢!

求职广告:本人实习生,现在急需一份工作,杭州南京合肥的都可以。对我感兴趣的可以私聊我 0.0。谢谢~~~

上一篇 下一篇

猜你喜欢

热点阅读