It has always seemed odd to me that `case`s use a colon as a delimiter rather 
than curly braces like everything else.  Is there a reason for this other than 
the legacy of C-like languages?  

If I wanted to write a series of branching `if` \ `else` statements I would do 
it like so:

if x==0      { print(0) }
else if x==1 { print (1) }
else if x==2 { print(2) }
else         { print("other”) }

I believe all flow control is wrapped in curly braces, except for `case`s 
inside a `switch`:

switch x {
case 0: print(0)
case 1: print(1)
case 2: print(2)
default: print("other")
}


I feel like this would be more consistent with the rest of the syntax:

switch x {
case 0 { print(0) }
case 1 { print(1) }
case 2 { print(2) }
default { print("other”) }
}

The colon syntax evokes a label, but the modern, complex `case` statements in 
Swift don’t act much like labels.
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to