add: interfaces assertion and composition (wip)
This commit is contained in:
23
interfaces/05-composition/types.go
Normal file
23
interfaces/05-composition/types.go
Normal 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
|
||||
}
|
Reference in New Issue
Block a user