• 两个go源文件不属于同一个package

将room.go所在的package引入到msg.go中,需要在msg.go使用时加上包名。

room.go

package room

type Rule struct{
    name string
    age  int    //your code
}

msg.go

package msg

import "room"

var a room.Rule
  • 两个go源文件属于同一个package

如果这两个文件属于同一个package的话,直接用Rule就行了,无需导入包名。但在运行或编译时,需要加上结构体所在的go源文件。

room.go

package main

type Rule struct{
    name string
    age  int    //your code
}

main.go

package main

var a Rule

func main() {
    fmt.Println(a)
}

运行、编译

# go run main.go room.go

更多推荐