Вопрос пользователя:
Ответ нейросети:
package main
import ( "fmt" )
type Vehicle interface { CalculateTravelTime(distance float64) float64 }
type Car struct { speed float64 }
func (c Car) CalculateTravelTime(distance float64) float64 { return distance / c.speed }
type Motorcycle struct { speed float64 }
func (m Motorcycle) CalculateTravelTime(distance float64) float64 { return distance / m.speed }
func EstimateTravelTime(vehicles []Vehicle, distance float64) map[string]float64 { travelTimes := make(map[string]float64) for _, vehicle := range vehicles { travelTimes[fmt.Sprintf("%T", vehicle)] = vehicle.CalculateTravelTime(distance) } return travelTimes }
func main() { car := Car{speed: 60.0} motorcycle := Motorcycle{speed: 80.0}
vehicles := []Vehicle{car, motorcycle}
distance := 100.0
travelTimes := EstimateTravelTime(vehicles, distance)
for vehicle, time := range travelTimes {
fmt.Printf("%s: %.2f hours\n", vehicle, time)
}
}
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.