Interfaces
type Vehicle interface {
Run() string
Speed() int
Stop() string
Start() string
}type Car struct { Odometer int }
func (c Car) Run() string{
return "Running"
}
func (c Car) Speed() int {
return c.Odometer
}
func (c Car) Stop() string{
return "Stopping"
}
func (c Car) Start() string{
return "Starting"
}
type Truck struct { Odometer int }
func (t Truck) Run() string{
return "Running"
}
func (t Truck) Speed() int {
return t.Odometer
}
func (t Truck) Stop() string{
return "Stopping"
}
func (t Truck) Start() string{
return "Starting"
}
type Bike struct { Odometer int }
func (b Bike) Run() string{
return "Running"
}
func (b Bike) Speed() int {
return b.Odometer
}
func (b Bike) Stop() string{
return "Stopping"
}
func (b Bike) Start() string{
return "Starting"
}Last updated