在go中导入结构,获取;“不是一种类型”;错误
我导入了另一个包中定义的结构,当尝试使用它来构造文本时,会出现“nota type”错误 在publish.go中在go中导入结构,获取;“不是一种类型”;错误,go,struct,Go,Struct,我导入了另一个包中定义的结构,当尝试使用它来构造文本时,会出现“nota type”错误 在publish.go中 type Book struct { Name string Author string Published bool } 准备好了 import "publish" func Init() { var reading publish.Book b := &reading { Name: "Learn Go La
type Book struct {
Name string
Author string
Published bool
}
准备好了
import "publish"
func Init() {
var reading publish.Book
b := &reading {
Name: "Learn Go Lang",
Author: "Rob",
Published: true
}
}
错误:reading不是一种类型此处您尝试创建一个类型为“reading”的结构 您需要的是publish.Book类型的结构
b := & publish.Book {
Name: "Learn Go Lang",
Author: "Rob",
Published: true,
}
此外,在多行结构声明的最后一行末尾还需要一个逗号 嗨,本,谢谢你的回复。是的,直接使用&publish.Book{…}works。但是我想知道为什么我不能创建一个本地实例:var reading publish.Book,然后&reading{…}??var reading publish.Book声明了Book的一个变量,它不创建该类型的别名。如果您愿意,您可以使用reading.Name=“Learn Go Lang”等来指定阅读元素。“书籍变量”是什么意思?如果它不等效于该类型的别名或实例,则别名和实例不等效。别名是类型的重命名。您可以有多个相同类型的实例。(我指的是book类型的变量)。
b := & publish.Book {
Name: "Learn Go Lang",
Author: "Rob",
Published: true,
}