// For more tutorials: https://blog.learngoprogramming.com // // Copyright © 2018 Inanc Gumus // Learn Go Programming Course // License: https://creativecommons.org/licenses/by-nc-sa/4.0/ // package main import "fmt" type item interface { print() discount(float64) } type list []item func (l list) print() { if len(l) == 0 { fmt.Println("Sorry. We're waiting for delivery 🚚.") return } for _, it := range l { it.print() } } func (l list) discount(ratio float64) { for _, it := range l { it.discount(ratio) } }