swift--基础总括
发布日期:2021-05-14 19:08:34 浏览次数:19 分类:精选文章

本文共 1942 字,大约阅读时间需要 6 分钟。

Swift类型系统基础指南

常量和变量

在代码中,常量是不会改变的值,变量则可以修改。使用 let 关键字声明常量,var 用于变量。

let maximumNumberOfLoginAttempts = 10
// 修改值会报错
var str = "Hello, playground"
str = "Hello"

类型注解

在 Swift 中,类型注解可以帮助明确变量或常量的类型。类型注解的格式是 类型名:类型,位于变量或常量名后面。

var welcomeMessage: String = "welcome"
// 可以在定义元组时给元素命名
let http202Status = (statusCode: 200, statusMessage: "success")

打印输出

在 Swift 中,print 语句可以用来输出变量或常量的值。要将变量插入到字符串中,可以使用圆括号 () 以及反斜杠 \ 进行转义。

print("the value of welcomeMessage is \(welcomeMessage)")
// 或者
print("the value of welcomeMessage is \(welcomeMessage)")

整数类型

UInt8 是一个无符号的 8 位整数类型,范围是 0~255。

let minValue = UInt8.min
let maxValue = UInt8.max
// 这些值不能为负数
let cannotBeNegative: UInt8 = -1 // 会报错

类型转换

Swift 支持多种类型的转换,例如 UInt8UInt16

let twoThousand: UInt16 = 2000
let one: UInt8 = 1
let twoThousandAndOne = twoThousand + UInt16(one)

浮点数和整数

在 Swift 中,浮点数和整数可以相互转换。

let pointOneFourOneFive = 0.1415
let pi = Double(3) + pointOneFourOneFive
// 强制类型转换会截断小数部分
let fourSeven = 4.7
let intValue = Int(fourSeven)

类型别名

类型别名可以给现有类型定义一个新的名字。

typealias TypeUint16 = UInt16
var mixUint16 = TypeUint16.min

布尔值

在 Swift 中,truefalse 是布尔值类型。

let trueValue = true
let falseValue = false
// 条件判断
if trueValue {
print("true")
} else {
print("false")
}

元组

元组可以将多个值组合成一个复合值。

let http404Error = (404, "Not Found")
print("http404Error is \(http404Error)")
// 可以通过下标访问元组元素
print("The status code is \(http404Error.0)")
print("The status message is \(http404Error.1)")

可选类型

可选类型(Optionals)用于处理可能缺失的值。

let possibleNumber = "123"
let convertedNumber = Int(possibleNumber)
print("possibleNumber is \(possibleNumber)")
// 给可选类型赋值会默认为 nil
print("convertedNumber is \(convertedNumber ?? 456)")

隐式可选类型

隐式可选类型(String!)可以用来表示一个可能为 nil 的值。

let possibleString: String? = "An optional string."
let forcedString: String = possibleString!
let assumedString: String! = "An implicitly unwrapped optional string."
let implicitString: String = assumedString

通过这些基础知识,你可以更好地理解和使用 Swift 的类型系统。

上一篇:解析HTML标签
下一篇:WidgetKit初探

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月20日 18时11分00秒