dtrphb5597 2015-08-11 14:38
浏览 20
已采纳

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

The Go compiler is complaining about my code to append a slice to a slice. Here are relevant excerpts:

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)
    // ...
}

The append line generates this compiler message:

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

I know that appending slices to slices works fine, based on an example in a Go Blog post under the section headed Append: The built-in function.

  • 写回答

1条回答 默认 最新

  • doutui4649 2015-08-11 14:41
    关注

    You need to use ...:

    lanids = append(lanids, lanids_loaded...)
    

    Also, also please format your code :)

    You should also read Slice Tricks on the Wiki.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?