您的当前位置:首页正文

go-在一个go文件下调用位于同一个包下的其他go文件定义的结构体,报错结构体未定义

2024-11-30 来源:个人技术集锦

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函数
 

显示全文