Forgive me if this was/is discussed already, I am new to the process
(code is attached as a playground too)
Sometimes when I am working with a String? nil can be a reasonable value,
and what I want to do is something like the following:
var str:String? = "Hello, playground"
case "Hello, playground": //it would be super nice if this worked.
print("Some other non nil value?")
But it does not work, the orange text is a compile time error, "Expression
pattern of type 'String' cannot match value of type 'String?'. I realize
that this can be replaced with a let statement (case let s where s == "Hello,
playground":), but that is verbose.
Seems like the compiler could be OK with the orange text, since it is
clearly not nil.
NilInSwitchStatements.playground.zip (6.94 KB)