文章目录
- Swift - 基础语法
- 1. 常量
- 1.1 只能赋值1次
- 1.2 它的值不要求在编译时期确定,但使用之前必须赋值1次
- 1.3 常量、变量在初始化之前,都不能使用
- 2. 标识符
- 3. 常用数据类型
- 4. 字面量
- 4.1 布尔
- 4.2 字符串
- 4.3 整数
- 4.4 浮点数
- 4.5 数组
- 4.6 字典
- 5. 类型转换
- 5.1 整数转换
- 5.2 整数、浮点数转换
- 5.3 字面量
- 6. 元组
Swift - 基础语法
let
:常量,var
:变量
1. 常量
- 只能赋值1次
- 它的值不要求在编译时期确定,但使用之前必须赋值1次
- 常量、变量在初始化之前,都不能使用
报错 - 二次赋值
1.1 只能赋值1次
声明常量:
let age = 10
或者
let age : Int
age = 1
如果把类型删掉,会报错
报错:二次赋值
使用
var
,就不会报错
1.2 它的值不要求在编译时期确定,但使用之前必须赋值1次
num
是变量,运行时是会变的,但是我们可以将它赋值给常量age
。注:很多编程语言不能这样
保证使用之前赋值1次就行
编译时
或者运行时
赋值都行
如下,常量age
在运行时调用getAge
方法赋值
1.3 常量、变量在初始化之前,都不能使用
2. 标识符
- 标识符(比如
常量名
、变量名
、函数名
)几乎可以使用任何字符
- 标识符
不能
以数字开头
,不能
包含空白字符
、制表符
、箭头
等特殊字符
func 🐂🍺() {print("666")
}
🐂🍺()let 👽 = "ET"
var 🥛 = "milk"
3. 常用数据类型
Swift
中的数据类型分为值类型
和引用类型
- 整数类型:
Int8
、Int16
、Int32
、Int64
、UInt8
、UInt16
、UInt32
、UInt64
- 在
32bit
平台,Int
等价于Int32
;在64bit
平台,Int
等价于Int64
- 整数的最值:
UInt8.max
、Int16.min
- 一般情况下,都是直接使用
Int
即可 - 浮点类型:Float,32位,精度只有6位;Double,64位,精度至少15位
如果定义Double
类型,直接写一个小数就行。如果要定义Float
类型,需要写清楚是Float
let letFloat: Float = 30.0
let letDouble = 30.0
4. 字面量
4.1 布尔
let bool = true
4.2 字符串
let string = "哈哈哈"
4.3 整数
let intDecimal = 17 // 十进制
let intBinary = 0b10001 // 二进制
let intOctal = 0o21 //八进制
let intHexadecimal = 0x11 //时间六进制
4.4 浮点数
let doubleDecimal = 125.0 // 十进制,等价于1.25e2(1.25*10的2次方)。0.0125等价于1.25e-2
let doubleHexadecimall = 0xFp2 // 十六进制,意味着15x2^2,相当于十进制的60.0
let doubleHexadecimal2 = 0xFp-2 // 十六进制,意味着15x2^-2,相当于十进制的3.75
// 以下都是表示12.1875
// 十进制:12.1875、1.21875e1
// 十六进制:0xC.3p0
4.5 数组
let array = [1, 3, 5, 7, 9]
4.6 字典
let dictionary = ["age" : 18, "height" : 168, "weight" : 120]
整数和浮点数可以添加额外的零或者添加下划线来增强可读性
p100_0000
、1_000_000.000_000_1
、000123.456
5. 类型转换
5.1 整数转换
// 整数转换
let int1: UInt16 = 2_000
let int2: UInt8 = 1
let int3 = int1 + UInt16(int2)
5.2 整数、浮点数转换
//整数、浮点数转换
let int = 3
let double = 0.24523
let pi = Double(int) + double
let intPi = Int(pi)
5.3 字面量
// 字面量可以直接相加,因为数字字面量本身没有明确的类型
let result = 3 + 0.24523
6. 元组
/*元组*/
let http404Error = (404, "Not Found")
print("The status code is \(http404Error.0)")let (statusCode, statusMessage) = http404Error
print("The status code is \(statusCode)")let (justTheStatusCode, _) = http404Errorlet http200Status = (statusCode:200, description: "OK")
print("The status code is \(http200Status.statusCode)")
@oubijiexi