package main
import "fmt"
type Engine struct {
FuelType string
Horsepower int
}
type Car struct {
Brand string
Model string
EngineInfo Engine
}
func NewCar(brand, model, fuelType string, horsepower int) *Car {
engine := Engine{FuelType: fuelType, Horsepower: horsepower}
return &Car{Brand: brand, Model: model, EngineInfo: engine}
}
func (c Car) Drive() {
fmt.Printf("Driving %s %s with a %d HP %s engine.\n", c.Brand, c.Model, c.EngineInfo.Horsepower, c.EngineInfo.FuelType)
}
func main() {
car := NewCar("Toyota", "Camry", "Gasoline", 200)
car.Drive()
}