Go中的树引用父亲ID

问题描述 投票:0回答:2

我正在尝试在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
}

任何想法如何创建此树?

go
2个回答
0
投票

您可能需要作为多遍操作来执行此操作。在第一遍中,读入所有会话名称,并使用ID和父ID的零指针创建一个Session结构。还将它们添加到map[string]*Session(键入名称)上。您还将需要一个“会话名称中的父会话名称”功能(从示例数据的外观来看,它是“如果有任何点,请在最后一个点后加上任何点”)。


0
投票

问题,您是否需要有关Session结构的参考。如果写的话会更好:

© www.soinside.com 2019 - 2024. All rights reserved.