我正在 Golang 中制作一棵(非二元)树。
在Java中,我会使用类似的东西
class Node{
List <Object> data;
}
Run Code Online (Sandbox Code Playgroud)
其中 data 可以是指向数据或子节点的指针
在 C 或 C++ 中,我会使用 void*。
我应该在 golang 中使用什么类型
我从未尝试过用任何语言解决这个问题,这在 Go 中可行吗?
\n\n去播放链接\n编辑我看到你没有询问实现,无论如何享受 \xe2\x99\xa5\xef\xb8\x8e
\n\npackage main\n\nimport (\n "fmt"\n)\n\ntype Node struct {\n List []*Node\n Data interface{}\n}\n\nfunc main() {\n trivial := Node{}\n\n leaf := Node{Data: 1}\n\n tree := Node{\n List: []*Node{\n &leaf,\n &leaf,\n },\n }\n out(trivial)\n out(leaf)\n out(tree)\n}\n\nfunc out(x interface{}) {\n fmt.Printf("%T:%+v\\n", x, x)\n}\n\n// main.Node:{List:[] Data:<nil>}\n// main.Node:{List:[] Data:1}\n// main.Node:{List:[0xc82000e180 0xc82000e180] Data:<nil>}\nRun Code Online (Sandbox Code Playgroud)\n