Go 语言中,包是代码的组织单位,可以由多个文件组成。这意味着在同一个包中的不同文件中,可以共享变量、函数和其他的标识符。需要注意的是,这些变量必须在使用之前进行声明。一般情况下,可以在包级别的变量声明中定义变量,这样它们就可以在包中的所有文件中使用。这些变量可以在不同的文件中进行赋值和修改。

两个go文件test.go和struct.go均位于main包中,在test.go文件中调用struct.go中定义的结构体tes

 

 使用go run src/main/test.go报错结构体未定义

PS D:\code\go\learnGo> go run src/main/test.go
# command-line-arguments
src\main\test.go:18:7: undefined: tes

这是因为使用go run编译运行指定go文件,没有编译struct.go文件导致的。如下图修改一下编译命令即可正常运行

PS D:\code\go\learnGo> go run src/main/test.go src/main/struct.go
<nil> {one}
cccccc 11

注意使用go run 编译运行多个go文件时,同时编译的go文件中只能有一个文件中有main函数
 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐