2017-07-03 79 views
1

Go(golang)有可能有一个包含来自不同文件夹的几个.go文件的包吗?Go(golang)由几个文件夹组成的包

我想在主文件夹内创建一个子文件夹,编译器说它找不到定义(“未定义”错误)。当所有文件都在同一个文件夹中时,编译不会给出错误。

谢谢。

+5

号从【如何写Go代码(https://golang.org/doc/code.html): “每个软件包在一个目录中包含一个或多个Go源文件。” “ – JimB

+0

很伤心。不过谢谢!你可以将这个答案作为一个单独的答案发布,以便我可以回答这个问题吗? – Chelovek

+0

嗯,当然你可以,它只是不简单,需要手动调用Go编译器(而不是手动工具)。你不想这样做。 – Volker

回答

3

不,这是不可能的。

如果你想在你的项目中使用文件夹,你必须使用几个包。

无效

myproject 
| -- main.go (package main) 
| -- routes.go (package main) 
+ -- models 
    | -- db.go (package main) 
    | -- mymodel.go (package main) 

VALID

myproject 
| -- main.go (package main) 
| -- routes.go (package main) 
+ -- models 
    | -- db.go (package models) 
    | -- mymodel.go (package models) 
相关问题