Structure can adopt multiple Protocols struct Employee : Protocol1, Protocol2 { ... }.
Adopt Protocol
//DECLARE PROTOCOL.
protocol Person {
//DECLARE PROPERTIES.
var greet : String { get }
var name : String { get set }
//DECLARE METHODS.
func sayHello (name: String) -> (String)
}
//DECLARE STRUCT.
struct Employee : Person { //struct adopts Protocol
// IMPLEMENT PROTOCOL PROPERTIES.
let greet : String = "Hello"
var name : String
//IMPLEMENT PROTOCOL METHOD.
func sayHello (name: String) -> (String) {
return("\(greet) \(name)")
}
}
//CREATE STRUCT INSTANCE.
var john = Employee(name: "Unknown")
var greeting = john.sayHello(name: "John")
print(greeting)