我有以下最後一行和迅速經過簡單的代碼提供錯誤 和VAR總和=輸入* 2應改爲VAR總和=輸入!* 2爲什麼SWIFT認爲其可選的讓輸入= INT(一)
我不確定爲什麼,因爲我沒有將變量a聲明爲可選。 快速輸入是否可選?謝謝
Var a="2"
let input = int(a)
var sum=input*2
我有以下最後一行和迅速經過簡單的代碼提供錯誤 和VAR總和=輸入* 2應改爲VAR總和=輸入!* 2爲什麼SWIFT認爲其可選的讓輸入= INT(一)
我不確定爲什麼,因爲我沒有將變量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會發生什麼?如Int(「A」)。它成爲一個可選項,因爲編譯器無法確定您傳入的字符串是否可以成爲Int。
guard let intVal = Int(a) else { return }
或
if let intVal = Int(a) {
//you have a valid Int here
}
是去處理這種情況
謝謝大家對你的答案的方式。 –