Назад к вопросам
Senior
4
Каким способом можно описать одну и ту же логику для разных типов, кроме дженериков?
Компании, где спрашивали
X5
Ответ от нейросети
sobes.tech AI
Кроме использования дженериков, в Go можно описать одну и ту же логику для разных типов с помощью интерфейсов. Интерфейсы позволяют определить набор методов, которые должны реализовывать типы, и работать с ними через интерфейс, обеспечивая полиморфизм.
Пример:
package main
import "fmt"
type Printer interface {
Print()
}
type IntPrinter int
func (i IntPrinter) Print() {
fmt.Println("Int value:", i)
}
type StringPrinter string
func (s StringPrinter) Print() {
fmt.Println("String value:", s)
}
func printValue(p Printer) {
p.Print()
}
func main() {
var i IntPrinter = 10
var s StringPrinter = "hello"
printValue(i)
printValue(s)
}
Таким образом, можно реализовать общую логику через интерфейсы без дженериков.