Swift - 可选项

Swift - 可选项 首页 / Swift入门教程 / Swift - 可选项

Swift 4还引入了 Optionals 类型,用于处理缺少值的情况,可选的选项是"有一个值,它等于x"或"根本没有值"。

Optional是一种类型,实际上是Swift 4的新函数枚举之一,它有两个可能的值, None 和 Some(T),其中T是Swift 4中可用的正确数据类型关联值。

这是一个可选的Integer整数声明-

var perhapsInt: Int?

这是一个可选的String字符串声明-

var perhapsStr: String?

上面的声明等效于将其显式初始化为 nil ,这意味着没有值-

链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-optionals.html

来源:LearnFk无涯教程网

var perhapsStr: String?=nil

让我们以下面的示例来了解可选选项在Swift 4中的工作方式-

var myString:String?=nil

if myString != nil {
   print(myString)
} else {
   print("myString has nil value")
}

运行上述程序时,我们得到以下输出-

myString has nil value

可选与在Objective-C中对指针使用 nil 相似,但是它们适用于任何类型,而不仅仅是类。

强制解包

如果将变量定义为可选,则要从该变量中获取值,必须解包。这仅意味着在变量末尾添加一个感叹号。

var myString:String?

myString="Hello, Swift 4!"

if myString != nil {
   print(myString)
} else {
   print("myString has nil value")
}

运行上述程序时,我们得到以下输出-

Optional("Hello, Swift 4!")

现在让我们应用展开以获取变量的正确值-

var myString:String?

myString="Hello, Swift 4!"

if myString != nil {
   print( myString! )
} else {
   print("myString has nil value")
}

运行上述程序时,得到以下输出。

无涯教程网

Hello, Swift 4!

自动解包

您可以使用感叹号而不是问号来声明可选变量,此类可选变量将自动解开,您无需在变量末尾使用任何其他的感叹号即可获取分配的值。

var myString:String!
myString="Hello, Swift 4!"

if myString != nil {
   print(myString)
} else {
   print("myString has nil value")
}

运行上述程序时,我们得到以下输出-

Hello, Swift 4!

可选绑定

使用可选绑定查找可选对象是否包含值,如果包含,则使该值可用作临时常量或变量。

if 语句的可选绑定如下-

if let constantName=someOptional {
   statements
}

让我们以一个简单的示例来了解可选绑定的用法-

var myString:String?
myString="Hello, Swift 4!"

if let yourString=myString {
   print("Your string has -\(yourString)")
} else {
   print("Your string does not have a value")
}

运行上述程序时,我们得到以下输出-

Your string has - Hello, Swift 4!

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

软件测试52讲 -〔茹炳晟〕

深入拆解Java虚拟机 -〔郑雨迪〕

重学前端 -〔程劭非(winter)〕

研发效率破局之道 -〔葛俊〕

互联网人的英语私教课 -〔陈亦峰〕

容器实战高手课 -〔李程远〕

AI大模型之美 -〔徐文浩〕

B端产品经理入门课 -〔董小圣〕

工程师个人发展指南 -〔李云〕

好记忆不如烂笔头。留下您的足迹吧 :)