簡體   English   中英

如何在Swift中擴展變量的范圍

[英]How can I expand the scope of a variable in Swift

我正在用Xcode編寫macOS命令行工具。 變量“ num1”始終返回nil。 我在一開始就聲明了它,因此它應該是一個全局變量。 我該如何解決?

var num1: Int!

if userChoice == "add" {
    print("Enter first number")
    if let num1 = readLine() {
    }
}

print ("\(num1)")

如前所述,您有兩個num1變量。 第二個范圍僅限於第二個if語句的塊。

您還有一個問題, readLine返回一個可選的String ,而不是Int

您可能希望代碼更像這樣:

var num1: Int?

if userChoice == "add" {
    print("Enter first number")
    if let line = readLine() {
        num1 = Int(line)
    }
}

print ("\(num1)")

當然,您現在可能需要將num1處理為nil

一種選擇是正確解開值:

if let num = num1 {
    print("\(num)")
} else {
    print("num1 was nil")
}
  1. 給第二個num1打電話。
  2. 如果放一些東西。
 var num1: Int!

 if userChoice == "add" {
    print("Enter first number")
    if let num2 = readLine() { 
        // This if-let runs if num2 is not nill. 
        print ("\(num2)")
        num1 = Int(num2)
    }
}

print ("\(num1)")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM