为什么swift认为它是可选的let input=int(a)
在最后一行sum swift给出错误后,我有下面的简单代码 和var sum=input*2应更改为var sum=input*二, 我不知道为什么,因为我没有声明变量a是可选的。 swift是否将输入作为可选输入?谢谢为什么swift认为它是可选的let input=int(a),swift,Swift,在最后一行sum swift给出错误后,我有下面的简单代码 和var sum=input*2应更改为var sum=input*二, 我不知道为什么,因为我没有声明变量a是可选的。 swift是否将输入作为可选输入?谢谢 Var a="2" let input = int(a) var sum=input*2 将字符串强制转换为int将返回可选值,因为它可能会失败 例如,let result=Int(“foo”)将返回nil,因为“foo”不是有效的Int。如果您这样做了该怎么办 Var a
Var a="2"
let input = int(a)
var sum=input*2
将字符串强制转换为int将返回可选值,因为它可能会失败 例如,
let result=Int(“foo”)
将返回nil,因为“foo”不是有效的Int。如果您这样做了该怎么办
Var a = "This is most defiantly not a number and even if it were its too long to fit within an int 123457993849038409238490ff9f-09-0f9-09f dd0d0066646464646464349023849038490328 I'm a teapot".
let input = int(a)
你认为可以转换成整数吗?现在您明白为什么它是可选的了吗?如果字符串不能转换为Int怎么办?例如Int(“A”)。它成为可选的,因为编译器无法确定您要传递的字符串是否可以成为Int
guard let intVal = Int(a) else { return }
或
是处理这种情况的方法谢谢大家的回答。
if let intVal = Int(a) {
//you have a valid Int here
}