我很好奇这种类型的结构声明
t := Person{"girlie", 12}
仅在其类型在同一文件中声明时才有效 以下是我的文件。
文件st.go,键入def结构里面用于主要功能
package structs
type person struct {
age int
name int
}
文件practice.go,主要功能:
package main
import(
"fmt"
"structs/dir"
)
func main() {
var s dir.Person
s.Name = "She"
s.Age = 12
>> t := Person{"girlie", 12}
fmt.Println(s.Name)
fmt.Println(t.Name)
}
如您所见,在声明实例t的地方发生错误。
答案 0 :(得分:1)
您错过了套餐参考,应该是:
t := dir.Person{"girlie", 12}
// ^^^^ missing this part
假设行var s dir.Person
有效,我根据问题猜测它,这意味着你引用的内容是" st.go"不准确,因为包名称不同,并且不导出结构及其字段。