add: interfaces assertion and composition (wip)

This commit is contained in:
Inanc Gumus
2019-08-20 19:03:57 +03:00
parent aa7fada2aa
commit 6b95995c81
14 changed files with 397 additions and 4 deletions

View File

@@ -0,0 +1,23 @@
package main
// don't separate your interfaces like this.
// put them in the same file where you need to use them.
// this is here for clarity
type printer interface {
print()
}
// TODO: NEW
type summer interface {
sum() float64
}
// TODO: NEW
// interface embedding
// When an interface includes multiple methods,
// choose a name that accurately describes its purpose.
type item interface {
printer
summer
}