Ответ
Пустой интерфейс (interface{}) в Go — это интерфейс без методов. Он может содержать значение любого типа, так как все типы неявно удовлетворяют пустому интерфейсу. Часто используется для работы с динамическими данными, например, в функциях вроде fmt.Println.
func printAnything(v interface{}) {
fmt.Printf("Type: %T, Value: %vn", v, v)
}
func main() {
printAnything(42) // int
printAnything("hello") // string
printAnything([]int{1,2}) // []int
}
Для извлечения конкретного типа используется type assertion (v.(int)) или type switch. С Go 1.18 часто заменяется на дженерики (any — это алиас для interface{}).
Видео-ответы
▶
▶
▶
▶