欢迎关注微信公众号「Swift 花园」
创建你自己的类
Swift 的类也能让你创建带有属性和方法的新类型,这一点和结构体很相似,但是它们之间有五个显著的区别。下面让我一一为你说明。
类和结构体的第一个区别是类没有逐一成员构造器。这意味着只要你的类里有属性,你就必须自行创建构造器。
举个例子:
1 | class Dog { |
创建类的实例跟创建结构体的实例方式一样:
1 | let poppy = Dog(name: "Poppy", breed: "Poodle") |
欢迎关注微信公众号「Swift 花园」
Swift 的类也能让你创建带有属性和方法的新类型,这一点和结构体很相似,但是它们之间有五个显著的区别。下面让我一一为你说明。
类和结构体的第一个区别是类没有逐一成员构造器。这意味着只要你的类里有属性,你就必须自行创建构造器。
举个例子:
1 | class Dog { |
创建类的实例跟创建结构体的实例方式一样:
1 | let poppy = Dog(name: "Poppy", breed: "Poodle") |
欢迎关注微信公众号「Swift 花园」
Swift 允许你用两种方式创建自己的类型。其中一种最常见的叫做结构体,即 struct
。Struct 可以拥有自己的变量、常量以及函数,而你可以在任意时候创建和使用它们。
让我们以一个简单的例子开始:创建一个 Sport
结构体,它有一个叫 name
的字符串变量。在结构体中,这种变量被称为 属性 。因此,这是一个拥有一个属性的结构体。
1 | struct Sport { |
类型定义完成,现在让我们来创建和使用它的实例:
1 | var tennis = Sport(name: "Tennis") |
name
和 tennis
都是变量,因而我们可以像常规变量那样修改它们:
1 | tennis.name = "Lawn tennis" |
属性可以像常规变量那样拥有默认值,并且依赖 Swift 的类型推断。
欢迎关注微信公众号「Swift 花园」
函数让我们可以重用代码。这句话的具体含义是,我们写一次函数,在多个地方使用。书写重复的代码,通常来说不是一种好的实践,而函数帮助我们避免重复代码。
用一个简单的例子开始吧。假设我们要为 app 的用户提供帮助信息,这个动作在 app 里的多个地方都会用到。因此,把打印帮助信息这个逻辑写成一个函数就是个好主意。
Swift 的函数以 func
关键字开始,然后跟着函数名,然后是一对圆括号,最后是一对花括号。当函数被运行时,花括号里的代码会被执行。
一个 printHelp ()
函数长这样:
1 | func printHelp() { |
然后我们用 printHelp ()
来运行它。
1 | printHelp () |
运行一个函数又被称为 调用 一个函数。
欢迎关注微信公众号「Swift 花园」
Swift 有很多种书写循环的方式,它们底层的机制是相同的:重复执行某段代码直到某个条件不再满足。
最常见的循环是 for
循环:它在数组和范围上循环,每次拉出一个值然后把它赋予一个常量。
举个例子,这里是一个数字的范围:
1 | let count = 1...10 |
我们可以用一个 for
循环打印里面的每一个值,就像这样:
1 | for number in count { |
数组的操作方式也一样:
1 | let albums = ["Red", "1989", "Reputation"] |
如果你不需要用到 for
循环提供给你的常量,你可以用下划线替代,这样 Swift 就会忽略这个你没有用到的值:
1 | for _ in 1...5 { |