【问题标题】:Go (golang) Package consisting of several foldersGo (golang) 包含几个文件夹的包
【发布时间】:2017-12-07 04:28:46
【问题描述】:

在 Go (golang) 中是否可以有一个包含来自不同文件夹的多个 .go 文件的包?

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

谢谢。

【问题讨论】:

  • 没有。来自How to write Go Code:“每个包都包含一个或多个 Go 源文件,位于单个目录中。”
  • 这很可悲。不过还是谢谢!您能否将此答案作为单独的答案发布,以便我可以将问题标记为已回答?
  • 嗯,当然可以,但这并不简单,需要手动调用 Go 编译器(而不是 go 工具)。你不想这样做。
  • 你为什么觉得这很可悲?我知道一开始这很奇怪,但是包是你在编写 go 应用程序时创建的很多东西。所以不需要把所有东西都放在一个文件夹里。

标签: file go package directory


【解决方案1】:

不,这是不可能的。

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

无效

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

有效

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 2014-01-14
    相关资源
    最近更新 更多