📅  最后修改于: 2023-12-03 14:47:47.967000             🧑  作者: Mango
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官方文档。