1. 读后概述

Swift编程语言自2014年发布以来,因其简洁、安全、高效的特点,迅速成为iOS和macOS应用开发的首选语言。本文将为您提供一份详细的Swift编程学习指南,从零基础入门到精通,助您轻松掌握这门语言。

2. Swift基础语法

2.1 说明

编程语言都是相通的,因此对于基础的语法都是一样。下面主要是对不同的且重要的语法进行了做了笔记,对于已知或类似的语法没有进行细致的说明。

2.2 基础类型

2.2.1 变量与常量

Swift用let定义常量,用var定义变量。对于数据类型则swift自行推断(类型推倒在C中相当于auto这个类型占位符一样)。常量在设定后,将不能再更改它的值,变量则可以。

let myConstant = 3.14
var myVariable = 42

如果需要指定类型,则使用类型注解:

var welcomeMessage: String

2.3 运算符

Swift中的运算符与大多数编程语言类似,包括算术运算符、比较运算符、逻辑运算符等。

let sum = 10 + 20
let difference = 20 - 10
let product = 10 * 20
let quotient = 20 / 10
let remainder = 20 % 10
let isGreaterThan = 20 > 10
let isLessThan = 10 < 20
let isEqual = 10 == 10
let isNotEqual = 10 != 10
let isAnd = true && false
let isOr = true || false

2.4 字符与字符串

Swift中的字符串使用String类型表示。

let greeting = "Hello, World!"
let name = "Alice"
let message = "My name is \(name)"

2.5 控制流

Swift中的控制流包括条件语句(ifswitch)和循环语句(forwhile)。

let number = 10
if number > 0 {
    print("The number is positive")
} else if number < 0 {
    print("The number is negative")
} else {
    print("The number is zero")
}

switch number {
case 0:
    print("The number is zero")
case 1...10:
    print("The number is between 1 and 10")
default:
    print("The number is outside the range")
}

for index in 1...10 {
    print(index)
}

var index = 0
while index < 10 {
    print(index)
    index += 1
}

2.6 函数

Swift中的函数使用func关键字定义。

func sayHello() {
    print("Hello, World!")
}

sayHello()

2.7 闭包

闭包是函数的一种特殊形式,可以捕获并记住其创建时的环境。

let closure = { (name: String) -> String in
    return "Hello, \(name)!"
}

let message = closure("Alice")
print(message)

2.8 枚举、结构体、类

Swift中的枚举、结构体和类用于定义自定义数据类型。

enum Weekday {
    case monday, tuesday, wednesday, thursday, friday, saturday, sunday
}

struct Person {
    var name: String
    var age: Int
}

class Car {
    var brand: String
    var model: String

    init(brand: String, model: String) {
        self.brand = brand
        self.model = model
    }
}

2.9 类的构造与析构

Swift中的类使用构造函数和析构函数来初始化和销毁对象。

class Person {
    var name: String
    var age: Int

    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }

    deinit {
        print("\(name) has been deallocated")
    }
}

2.10 属性监听器

Swift中的属性监听器允许您在属性值变化时执行代码。

class Person {
    var name: String {
        didSet {
            print("Name changed from \(oldValue) to \(name)")
        }
    }

    init(name: String) {
        self.name = name
    }
}

2.11 类的继承

Swift中的类可以继承自其他类,并可以重写父类的方法。

class Student: Person {
    var grade: Int

    init(name: String, age: Int, grade: Int) {
        self.grade = grade
        super.init(name: name, age: age)
    }

    override func sayHello() {
        print("Hello, I am a student.")
    }
}

2.12 扩展

Swift中的扩展允许您向现有类型添加新的功能。

extension Int {
    func square() -> Int {
        return self * self
    }
}

let number = 10
print(number.square()) // 输出 100

2.13 协议

Swift中的协议定义了一组必须遵守的规则,类、结构体和枚举可以遵循这些协议。

protocol MyProtocol {
    func doSomething()
}

class MyClass: MyProtocol {
    func doSomething() {
        print("Doing something")
    }
}

2.14 泛型

Swift中的泛型允许您编写可重用的代码,同时保持类型安全。

func swap<T>(_ a: inout T, _ b: inout T) {
    let temp = a
    a = b
    b = temp
}

var int1 = 10
var int2 = 20
swap(&int1, &int2)
print(int1, int2) // 输出 20 10

3. 总结

通过以上内容,您已经对Swift编程语言有了初步的认识。Swift是一门功能强大且易于学习的编程语言,适合所有层次的开发者。只要您按照本文的指南,一步一个脚印地学习,相信您一定能够轻松掌握Swift编程。