📜  Swift-基本语法(1)

📅  最后修改于: 2023-12-03 14:47:47.967000             🧑  作者: Mango

Swift-基本语法

Swift是由苹果公司推出的一种新的编程语言,于2014年WWDC发布。它吸收了Objective-C和其他语言的优点,注重安全性和性能,同时兼容现有的Objective-C代码。本文将介绍Swift的基本语法。

命名规则

Swift的变量名和函数名使用驼峰命名规则,即首字母小写,后面每个单词首字母大写。类名和枚举名同样使用驼峰规则,但首字母大写。常量名使用全大写字母,并且单词之间用下划线隔开。

var myVariable = 42
let myConstant = "Hello, Swift!"
func myFunction() {
    // do something...
}
struct MyStruct {
    // ...
}
enum MyEnum {
    // ...
}
数据类型

Swift具有丰富的数据类型,包括整数、浮点数、布尔值、字符串等。其中,整数分为有符号和无符号两种类型,浮点数分为单精度和双精度两种类型。

let age: Int = 30
let amount: Double = 12.34
let isDone: Bool = true
let name: String = "Swift"
变量和常量

Swift中的变量使用var关键字定义,常量使用let关键字定义。变量可以在定义后改变其值,而常量的值则不能改变。

var count = 0
count = 1 // 可以改变count的值

let message = "Hello, Swift!"
message = "Goodbye, Swift!" // 报错:message的值不能改变
运算符

Swift支持常用的算数运算符、比较运算符、逻辑运算符和位运算符。其中,赋值运算符和增量/减量运算符也是常用的运算符之一。

var x = 10
var y = 20

// 算数运算符
var sum = x + y
var diff = x - y
var prod = x * y
var quot = y / x
var mod = y % x

// 比较运算符
var isEqual = x == y
var isNotEqual = x != y
var isGreater = x > y
var isLess = x < y
var isGE = x >= y
var isLE = x <= y

// 逻辑运算符
var andResult = true && false
var orResult = true || false
var notResult = !true

// 位运算符
var bitwiseAnd = x & y
var bitwiseOr = x | y
var bitwiseXor = x ^ y
var bitwiseNot = ~x
var leftShift = x << 1
var rightShift = x >> 1

// 赋值运算符和增量/减量运算符
x += 1
x -= 1
y *= 2
y /= 2
控制语句

Swift中的控制语句包括条件语句、循环语句和跳转语句。条件语句包括if语句和switch语句,循环语句包括for循环语句、while循环语句和repeat-while循环语句,跳转语句包括break语句、continue语句和return语句。

// if语句
var score = 90
if score >= 90 {
    print("优秀")
} else if score >= 80 {
    print("良好")
} else if score >= 70 {
    print("中等")
} else {
    print("不及格")
}

// switch语句
var month = 4
switch month {
case 1, 2, 3:
    print("第一季度")
case 4, 5, 6:
    print("第二季度")
case 7, 8, 9:
    print("第三季度")
case 10, 11, 12:
    print("第四季度")
default:
    print("无效月份")
}

// for循环语句
for i in 0..<5 {
    print(i)
}

// while循环语句
var i = 0
while i < 5 {
    print(i)
    i += 1
}

// repeat-while循环语句
i = 0
repeat {
    print(i)
    i += 1
} while i < 5

// break语句、continue语句和return语句
for i in 0..<5 {
    if i == 2 {
        continue
    } else if i == 3 {
        break
    }
    print(i)
}

func multiply(_ x: Int, _ y: Int) -> Int {
    guard y != 0 else {
        return 0
    }
    return x * y
}
函数和闭包

Swift中的函数和闭包都属于可调用的代码块,但它们之间的区别在于,函数具有名字和参数列表,而闭包则不需要名字和参数列表。

// 函数定义和调用
func add(_ x: Int, _ y: Int) -> Int {
    return x + y
}

let sum = add(1, 2)

// 闭包定义和调用
let divide = { (x: Int, y: Int) -> Int in
    guard y != 0 else {
        return 0
    }
    return x / y
}

let quot = divide(4, 2)
类和结构体

Swift中的类和结构体都可以用于封装属性和方法,并且具有很多相似的特性,如定义属性和方法、定义构造器和析构器、实现协议等。但它们之间的区别在于,类是引用类型,具有继承和类型转换的功能,而结构体是值类型,不支持继承和类型转换。

// 类定义和对象实例化
class Person {
    var name: String
    var age: Int

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

    func sayHello() {
        print("Hello, my name is \(name), and I'm \(age) years old.")
    }
}

let p = Person(name: "Tom", age: 18)
p.sayHello()

// 结构体定义和对象实例化
struct Point {
    var x: Int
    var y: Int

    func moveBy(dx: Int, dy: Int) -> Point {
        return Point(x: x + dx, y: y + dy)
    }
}

var p1 = Point(x: 0, y: 0)
var p2 = p1.moveBy(dx: 10, dy: 10)
print(p2) // 输出: Point(x: 10, y: 10)

以上是Swift的基本语法介绍,希望对大家有所帮助。更多相关内容请参考Swift官方文档。