package main; import "fmt"; type test interface{ a(a int) (a, b int); b() (a, b int, string); }; type Vehicle interface{ move(); }; func drive(vehicle Vehicle){ vehicle.move(); } type Car struct{ }; type Aircraft struct{}; func (c Car) move(){ fmt.Println("Автомобиль едет"); } func (a Aircraft) move(){ fmt.Println("Самолет летит"); } func main() { tesla := Car{}; boing := Aircraft{}; drive(tesla); drive(boing); var anything interface{}; // Пустой интерфейс b := interface{}; // short decl anything = 42; fmt.Printf("Тип: %T, Значение: %v\n", anything, anything); // int, 42 anything = "hello"; fmt.Printf("Тип: %T, Значение: %v\n", anything, anything); // string, hello anything = 3.14; fmt.Printf("Тип: %T, Значение: %v\n", anything, anything); // float64, 3.14 }