Swift基础语法
1.变量与常量(var 和 let)
var str = "Hello, playground"
str += "!"
print(str)
2.数据类型:Int、Double、String、Bool
声明变量用关键字var,而声明常量用关键字let(常量无法变化)。
var myx: Int = 4
myx += 2
print(myx)
数据类型转换:
let a:Int8 = 50
let b:Int16 = 200;
let c = Int16(a) + b
注意: 浮点数无法精确表示,计算机是存储一个近似值。因此,永远不要用浮点数表示那些需要非常精确的数值(比如金额计算)
3.字符串插值与操作(值绑定法)
字符串字面量中的()语法表示占位符,可以访问一个实例的值并将其放入新字符串
let numberOfStoplights: Int = 4
var population: Int
population = 5422
let townName: String = "Knowhere"
let townDescription: String = "\(townName) has a population of \(population) and \(numberOfStoplights) stoplights."
print(townDescription)
4.条件语句:if、else、switch
var msg: String
if population < 5{
msg = "big"
}
else if population == 5{
msg = "normal"
}
else{
msg = "small"
}
比较运算符:
- < 计算左边的值是否小于右边的值
- <= 计算左边的值是否小于等于右边的值
- > 计算左边的值是否大于右边的值
- >= 计算左边的值是否大于等于右边的值
- == 计算左边的值是否等于右边的值
- != 计算左边的值是否不等于右边的值
- === 计算两个实例是否指向同一个引用
- !== 计算两个实例是否不指向同一个引用
逻辑运算符:
- && 逻辑与:当且仅当两者都为真时结果为真(否则结果为假)
- || 逻辑或:两者任意之一为真时结果为真(只有两者都为假时结果为假)
- ! 逻辑非:真变为假,假变为真
三目运算:
msg = population < 10000 ? "population = \(population). It is a small town" : "population = \(population). It is a big town"
5.元组、数组和字典
创建元组
let person = (name: "John", age: 30, profession: "Engineer")
print(person)
通过索引访问元组元素
var name = person.0 // "John"
var age = person.1 // 30
var profession = person.2 // "Engineer"
通过标签访问
name = person.name // "John"
age = person.age // 30
profession = person.profession // "Engineer"
元组是不可变的(immutable)除非你显式声明为 var。如果元组是 var,你可以修改其中的元素。
var person2 = (name: "John", age: 30, profession: "Engineer")
person2.age = 31 // 修改 age 为 31
数组
var numbers = [1, 2, 3, 4, 5] //隐式创建数组
var goods: [String] = ["apple", "banana", "cherry"] //显式创建数组
let firstNumber = numbers[0] //通过索引访问元素
numbers[0] = 10 // 修改第一个元素
let count = numbers.count // 5
numbers.append(6) // 添加元素到数组末尾
numbers.remove(at: 2) // 删除索引为 2 的元素
for number in numbers {//遍历数组
print(number)
}
字典
var person3 = ["name": "John", "age": "30"] //隐式创建字典
var employee: [String: String] = ["name": "Alice", "position": "Engineer"] //显式创建字典
var name3 = person3["name"] // 通过键访问字典中的值
person3["age"] = "31" // 修改 "age" 键的值
print(person3)
person3.removeValue(forKey: "age") // 删除 "age" 键值对
print(person3)
person3["address"] = "123 Main St" // 添加 "address" 键
print(person3)
for (idex,itemx) in person3{// 遍历字典
print(idex,itemx)
}
无评论