go语言学习笔记 — 基础 — 复合数据类型 — 结构体:如何在包中引用另外一个包的结构体?

Posted Locutus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言学习笔记 — 基础 — 复合数据类型 — 结构体:如何在包中引用另外一个包的结构体?相关的知识,希望对你有一定的参考价值。

  • 两个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

以上是关于go语言学习笔记 — 基础 — 复合数据类型 — 结构体:如何在包中引用另外一个包的结构体?的主要内容,如果未能解决你的问题,请参考以下文章

go语言学习笔记 — 基础 — 复合数据类型 — 结构体:使用匿名结构体分离json数据

go语言学习笔记 — 基础 — 复合数据类型 — 结构体:如何在包中引用另外一个包的结构体?

go语言学习笔记 — 基础 — 复合数据类型 — 结构体:类型内嵌与结构体内嵌(扩展和复用)

go语言学习笔记 — 基础 — 复合数据类型 — 结构体:构造函数 — 封装结构体和类型的一系列初始化操作(封装数据)

go语言学习笔记 — 基础 — 复合数据类型 — 结构体(10.2):自定义设置隐藏的成员属性,并获取它的值

go语言学习笔记 — 基础 — 复合数据类型 — 结构体(10.1):隐藏结构体与跨包引用结构体