1
0
mirror of https://github.com/MADTeacher/go_basics.git synced 2025-11-23 21:34:47 +02:00
Files
go_basics/part_3/3.8/golang/car_factory/main.go
2025-06-04 18:38:52 +03:00

36 lines
716 B
Go

package main
import (
"fmt"
"golang/car_factory/vehicle"
"golang/car_factory/vehicle/motor"
)
func printCarInfo(car *vehicle.Car) {
fmt.Printf("----------- %v -----------\n", car.GetBrand())
fmt.Printf("Car: %+v\n", car)
fmt.Printf("motor: %+v\n", car.GetMotorData())
fmt.Println()
}
func main() {
car := vehicle.NewDefaultCar()
printCarInfo(car)
car.StartMove()
car.StartMotor()
car.StartMove()
car.StoptMotor()
fmt.Println("Is car move? ", car.IsMove())
// меняем двигатель
newMotor := motor.NewHyundaiMotor("1.8")
car.ChangeMotor(newMotor)
printCarInfo(car)
printCarInfo(car)
car.StartMove()
car.StartMotor()
car.StartMove()
fmt.Println("Is car move? ", car.IsMove())
}