欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Swift 基础

程序员文章站 2022-03-01 17:02:08
...

⚠️
1.如果代码中的存储值不会更改,请始终使用let关键字将其声明为常量,仅使用变量存储需要更改的值

  1. 给一个值声明值之后,更改的值不能改变其初始值的类型,否则会报错
  2. 常量类型在设置值后不可更改值,变量可以
  3. Double具有至少15位十进制数的精度,而精度Float可以小至6位十进制数。要使用的适当浮点类型取决于您在代码中使用的值的性质和范围。在任何一种类型适当的情况下,Double都是首选
常量(let) 变量(var)
let letValue = 10
var varValue = 0
var x = 0.0,y = 0.0,z = 0.0
类型标注
var message : String = "消息"
var x , y , z : Double
x = 1.0
y = 2.0
z = 3.0
打印
var message = "消息"
print(message) // 消息
print("我有一个\(message)") // 我有一个消息
类型转换
let pi = 3.14159
let piInt = Int(pi) // 3
布尔值 Booleans
var isOn = true
var isOff = false

if isOn {
    print("开")
} else {
    print("关")
}
元组 Tuples
let http404Error = (404,"Not Found") // (404, "Not Found")
let (statusCode,statusMessage) = http404Error
let http200Status = (statusCode: 200,description: "OK")

print(http404Error.0)
print(http404Error.1)
print(http200Status.statusCode)
print(http200Status.description)
可选 Optionals 要么有一个值 要么没有任何值nil

1.Swift nil与nilObjective-C不同。在Objective-C中,nil是一个指向不存在的对象的指针。在Swift中,nil不是指针 - 它缺少某种类型的值。可以将任何类型的选项设置为nil,而不仅仅是对象类型
2.尝试使用!访问不存在的可选值会触发运行时错误。nil在使用!强制解包其值之前,请务必确保可选项包含非值

var possibleNumber: Int? = 123

var serverCode :Int? // serverCode 自动设置为nil

if possibleNumber != nil {
    print("possibleNumber is not nil")
} // possibleNumber is not nil

if serverCode == nil {
    print("serverCode is nil")
} // serverCode is nil
  • 强制解包
print("possibleNumber is \(possibleNumber!)") // possibleNumber is 123
  • 隐式解包 与 可选 区别
let possibleString: String? = "可选字符串"
let forcedString:String = possibleString! // 需要一个感叹号

let assumeString:String! = "隐式解包可选字符串"
let implicitString: String = assumeString // 不需要感叹号