gpt4 book ai didi

swift - 为什么要对有值的常量使用可选类型?

转载 作者:IT王子 更新时间:2023-10-29 05:36:38 25 4
gpt4 key购买 nike

看看这个声明from Apple document :

let optionalInt: Int? = 9

为什么要使用 Int? 作为这个常量的类型?您知道它不能是 nil,因为您正在为其分配值 9 吗?可选类型的目的(据我所知)是为了能够保存 nil. optionalInt 不需要保存 nil这个说法。有人可以解释一下吗?

最佳答案

我找到了一个你可能会用到它的案例。这有点牵强,但我们开始吧。

使用 let x: Int 的原因之一? = whatever 是,如果你有一个重载函数,其中参数是不同的类型,只有一个是可选的。例如:

func doSomething(x: Int)
{
print("\(x) is an Int")
}

func doSomething(x: Int?)
{
print("\(x) is an optional")
}

如果你想确保调用第二个重载,你需要明确地使参数成为可选的,例如

let y = 5
doSomething(y) // prints 5 is an Int

let z: Int? = 6
doSomething(z) // prints Optional(6) is an optional

我在现实生活中还没有见过这样的事情。

关于苹果文档,只是一个简单的例子。

关于swift - 为什么要对有值的常量使用可选类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35775039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com