类型声明的位置

时间:2018-02-14 19:08:41

标签: go structure

我很好奇这种类型的结构声明

 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的地方发生错误。

1 个答案:

答案 0 :(得分:1)

您错过了套餐参考,应该是:

t := dir.Person{"girlie", 12}
//   ^^^^ missing this part

假设行var s dir.Person有效,我根据问题猜测它,这意味着你引用的内容是" st.go"不准确,因为包名称不同,并且不导出结构及其字段。