💬 Что из себя представляет тип any в Go?
В Go,
☑️
☑️ С введением дженериков в Go 1.18,
☑️ Поскольку
☑️ Используя
📌 Функция, принимающая любой тип:
📌 Хранение различных типов в срезе:
В Go,
any
— это псевдоним для интерфейса interface{}
, который по сути может представлять любой тип данных. Это удобно, когда мы не знаем заранее, какой тип данных будет использоваться. ☑️
any
может хранить значение любого типа, от примитивов до сложных кастомных структур. Это делает его идеальным для случаев, когда тип данных заранее неизвестен.☑️ С введением дженериков в Go 1.18,
any
стал широко использоваться для создания обобщенных функций и типов. Он позволяет определять параметры и структуры, которые могут работать с любым типом данных.☑️ Поскольку
any
может представлять любой тип, он полезен в ситуациях, где нужна гибкость типов данных, например, при работе с JSON или при динамическом приведении типов.☑️ Используя
any
в сочетании с рефлексией, можно создавать функции и структуры, способные адаптироваться к разным типам данных во время выполнения программы.📌 Функция, принимающая любой тип:
func PrintValue(v any) {
fmt.Println(v)
}
func main() {
PrintValue(5) // 5
PrintValue("hello") // hello
PrintValue(3.14) // 3.14
}
📌 Хранение различных типов в срезе:
func main() {
values := []any{5, "hello", 3.14}
for _, v := range values {
fmt.Println(v)
}
}