我正在Go中处理一个小MUD,并且我正在尝试读取具有文件出口的房间列表。我希望代码循环访问文件的行,将索引为1的每一行归档到房间ID,将索引为2的每一行归档到房间描述,每行将索引3用于填充房间的链接。但是,当我运行代码时,我得到一个恐慌:运行时错误:索引超出范围[1],长度为0。我已经考虑了两天,没有运气,任何帮助都会非常感激。
编辑:尝试初始化,但仍然收到相同的错误。rr:= []*Room{}
r:= []*Room{}
roomdoc, err := readLines("/usr/go/src/gopherit/GopherIT/roomdoc.txt")
if err != nil {
return r, err
}
i := 0
index := 1
for _, str := range roomdoc {
if i == 0 {
r[index].roomInitId(str)
i++
}
if i == 1 {
r[index].roomInitDesc(str)
i++
}
if i == 2 {
vri := strings.Split(str, ":")
v, ri := vri[0], vri[1]
r[index].addLink(v, ri)
i++
}
if i == 3 {
index++
i = 0
}
}
return r, err
}
慕桂英3389331
相关分类