Run ❯
Get your
own
website
❯
Run Code
Ctrl+Alt+R
Change Orientation
Ctrl+Alt+O
Change Theme
Ctrl+Alt+D
Go to Spaces
Ctrl+Alt+P
struct Email { let value: String init?(_ s: String) { if s.contains("@") { value = s } else { return nil } } } enum InitError: Error { case invalid } struct Port { let number: Int init(_ n: Int) throws { guard (1...65535).contains(n) else { throw InitError.invalid } number = n } } print(Email("a@b")?.value ?? "nil") print(Email("oops")?.value ?? "nil") do { let p = try Port(8080) print(p.number) _ = try Port(70000) print("ok") } catch { print("error") }