一尘不染

编译器错误将切片附加到切片

go

Go编译器抱怨我的代码将切片附加到切片。以下是相关摘录:

type LanidEntry struct {
    lanid   string
    group   string
    contact string
}

var lanids []LanidEntry

func load_file() (lanids_loaded []LanidEntry, errormsgs string) {
    // ...
}

func Load() (lanids []LanidEntry, errormessages string) {
    lanids_loaded, errormsgs := load_file(filename1, contact1)
    lanids = append(lanids, lanids_loaded)
    // ...
}

append行生成以下编译器消息:

 src\load_lanids\load_lanids.go:50: cannot use lanids_loaded (type []LanidEntry) as type LanidEntry in append

我知道,根据Go Blog帖子中 标题为Append:the
Built-in function
一节下的示例,将切片追加到切片会很好。


阅读 171

收藏
2020-07-02

共1个答案

一尘不染

您需要使用...

lanids = append(lanids, lanids_loaded...)

另外,还请格式化您的代码:)

您还应该阅读Wiki上的Slice Tricks

2020-07-02