猿问

在内部有一个切片的两个结构之间传递值

我有 2 个结构,里面有一个切片,如下所示:


type BookX struct {

  SomeValue string

  Book1 []Book1

}

type Book1 struct {

  Name string

  Author string

}


type BookY struct {

  SomeValue string

  Book2 []Book2

}

type Book2 struct {

  Name string

  Author string

}


我想将结构 BookX 中第一个切片中的值传递给 BookY 中的另一个切片。


尝试过这种方式但不起作用:


func someName(bookX BookX){

  var bookY BookY

  bookY.Book2 = append(bookY.Book2, bookX.Book1...)

}


慕慕森
浏览 96回答 1
1回答

叮当猫咪

Book1即使他们有相同的成员,也是Book2不同的类型。您不能追加[]Book1到[]Book2.Book2一种解决方案是从创建实例Book1并将它们添加到[]Book2.func someName(bookX BookX){  var bookY BookY  for _, book1 := range bookx.Book1 {    book2 := Book2 {      Name: book1.Name,      Author: book1.Author,    }    bookY.Book2 = append(bookY.Book2, book2)  }}
随时随地看视频慕课网APP

相关分类

Go
我要回答