我正在尝试将一些C代码转换为Go,我想知道是否有一个Go等效于以下链表类型:
typedef struct TOKENLIST {
token item;
struct TOKENLIST *next;
} token_list_elt, *token_list;
到目前为止,似乎我必须像这样单独创建两种类型:
type token_list struct {
item token
next *token_list
}
type token_list_elt struct {
item token
next *token_list_elt
}
对于这个例子来说,这不是什么大问题,但是我需要翻译很多链接列表类型,其中一些有很多别名和/或结构域。
答案 0 :(得分:1)
但为什么不这样用呢:
type linkedList struct {
item token
next *linkedList
}
...
tokenList := linkedList{}
tokenListElt := linkedList{}
不同的结构类型是如此重要吗?