2017-03-28 57 views
0

我剛開始學習Swift3。一開始我寫了一個轉換單位的控制檯程序。我有一個控制檯輸入流Swift控制檯輸入不區分大小寫

let typ = readLine() 

和原因我得到完全相同的字符串返回,但我使用的if語句。現在我的問題我不想檢查它區分大小寫我只想要簡單的字符串。 這是if結構使用:

if typ == unitA { 
    print("foo") 
    //Some Code 
}else if typ == unitB{ 
    print("super foo") 
    //Some Code 
}else{ 
    print("Invalid input :/") 
} 

謝謝:d

回答

1

只需小寫輸入之前比較它。另外,switch聲明可以大大地清除if/if else/else階梯。

guard let input = readLine() else { 
    fatalError("No input recieved") 
} 

switch input.lowercased() { 
    case unitA: print("foo") 
    case unitB: print("super foo") 
    default: print("Invalid input :/") 
} 
+0

這很酷謝謝你! – Limatuz

+0

但你能解釋這個狙擊給我嗎? 'guard let input = readLine()else { fatalError(「No input recieved」) } ' – Limatuz

+0

@Limatuz什麼? – Alexander

0

如果你想比較基於字符串大小寫不敏感,你可以使用caseInsensitiveCompare看到這個answer