首页 >后端开发 >Golang >Go 中的 Void 指针相当于什么?

Go 中的 Void 指针相当于什么?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-16 16:14:11925浏览

What is Go's Equivalent to C's Void Pointers?

Go 在 C 中相当于 Void 指针

要创建一个可以包含 Go 中任何类型的数据结构,请考虑使用空接口。

空接口:interface{}

根据 Go 编程语言规范,“所有类型都实现空接口 界面。”这意味着您可以定义一个类型为interface{}的变量,并为它分配任何非接口类型的值。

var value interface{} = 10

此功能允许您创建可以存储任何类型值的数据结构,类似于 C 中的 void 指针。例如,您可以定义一个链表,其中每个节点可以包含任何类型的值:

type Node struct {
    Value interface{}
    Next  *Node
}

更新:任意别名

从 Go 1.18 开始,引入了内置别名 any 作为 interface{} 的同义词。它为空接口提供了一个更简洁、更具描述性的名称。

var value any = 10

结论

通过利用空接口或其别名any,您可以创建能够存储以下值的Go数据结构任何类型,实现类似于C中void指针的功能。

以上是Go 中的 Void 指针相当于什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn