dongtanzhu5417 2014-09-29 08:20 采纳率: 100%
浏览 23
已采纳

递归编译文件

I just started with Go, and i love it! I have tried to make the structure of my project a bit more manageable, instead of having everything in my main.go

So now i have a structure like this.

src/
-> main.go
-> routes.go
-> handlers/
--> user_handlers.go

But when i try to build this with the following command

go build -v -o ./bin/my_bin ./src/...

I get this error

cannot use -o with multiple packages

But if i make it a flat structure like this

src/
-> main.go
-> routes.go
-> user_handlers.go

It works just fine, all my files got "package main" in the top of them.

What am i doing wrong?

  • 写回答

2条回答 默认 最新

  • dsarttv037029 2016-03-29 17:08
    关注

    The package name must match the directory name. Moving a source file to a new directory requires that you also change the package name.

    foo/foo.go // package foo
    foo/bar/bar.go // package bar
    foo/bar/qux.go // package bar
    

    The PATH is not relevant in terms of the package name.

    Package foo: /some/path/some/where/foo 
    

    This allows multiple "foo" packages to be created and imported provided your import specifies the desired location of "foo"

    P.S. The convention for package names is lowercase, no punctuation (e.g., no _'s)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路