3
3
S
S
u
u
m
m
m
m
a
a
r
r
y
y
I
I
n
n
f
f
o
o
Online Compiler: http://online.swiftplayground.run
B
B
a
a
s
s
i
i
c
c
S
S
y
y
n
n
t
t
a
a
x
x
Comments //Single line comment /* Multi line comment */
Print & Dump print("\(name) is \(age) years old")
Statements
Conditional (if, switch, ?)
Loop (for, while, repeat)
Jump (break, continue, return)
D
D
a
a
t
t
a
a
T
T
y
y
p
p
e
e
s
s
Data Types & Literals var value : Float = 65.4
Data Type Alias typealias name = String
Generic Data Types
Function func add <T: Numeric> (x: T, y: T) -> (T) { return x + y }
Struct struct Numbers<T: Numeric> { var x : T }
V
V
a
a
r
r
i
i
a
a
b
b
l
l
e
e
s
s
Constants & Variables let name : String = "John"
Optionals var name : String? = "John" print(name!)
Enumerators
Value enum Errors : Int { case Error0 = 0 init(x: Int) { self = .Error1 }}
Template enum Errors { case Warning(code: Int, message: String) init(x: Int) { self = .State(x) }}
S
S
t
t
r
r
u
u
c
c
t
t
u
u
r
r
e
e
s
s
Tuple var error : (code: Int, message: String) = (message:"RED", code:1) error.0 error.message
Struct struct Employee : Person { var name : String }
Class class Employee : Person { var name : String }
Protocol protocol Person { var name : String { get set } }
Extensions extension Person { var hello : String { return "Hello \(name)" } }
F
F
u
u
n
n
c
c
t
t
i
i
o
o
n
n
s
s
Functions func greet (name: String) -> (String) { return("Hello \(name)") } greet(name:"Bill")
Closures let greet : (String)->(String) = { (name: String) -> (String) in return("Hello \(name)") } greet("Bill")
Subscripts subscript (index: String) -> (String) { get{ switch (index)} set{ name = newValue } }
Computed Property var greet : String { get{ return name } set{ name = newValue } }
Property Observers var name : String = "John" { willSet (newValue) { } didSet (oldValue) { } }