我正在尝试在Go中创建一棵树,但是我在创建此树时遇到了一些问题,我收到了来自.txt的乱序名称:
SESSION01.5
SESSION01
SESSION02.5
SESSION01.5.5
SESSION02
应该是:
SESSION01 -> SESSION01.5 -> SESSION01.5.5
SESSION02 -> SESSION02.5
正在强制添加到数据库中,因为我需要在我的结构会话中将父亲的ID设置为:
type Session struct {
ID *int64
Name *string
SessionFatherID *int64
}
任何想法如何创建此树?
您可能需要作为多遍操作来执行此操作。在第一遍中,读入所有会话名称,并使用ID和父ID的零指针创建一个Session
结构。还将它们添加到map[string]*Session
(键入名称)上。您还将需要一个“会话名称中的父会话名称”功能(从示例数据的外观来看,它是“如果有任何点,请在最后一个点后加上任何点”)。
问题,您是否需要有关Session结构的参考。如果写的话会更好: