Declaration and initialization
Protocols
Declaration and initialization
Method requirements
Property requirements
Constructor requirements
Subscript requirements
Inheritance of protocols
Protocol composition
Conformance checking (is, as)
Collection of protocols
Type extension
Protocol extension
Class-only protocols
Optional requirements
Associated type
Mutating methods
Protocol adoption
Protocol extension constraints
Nested interface
protocol
Printable
{
func
print
()
}
let
printable =
Printable
()
//<- Error
Languages
Python
C
Java
C#
JavaScript
R
Rust
Golang
Delphi
PHP
Kotlin
TypeScript
Clojure
Objective-C