du5407 2014-07-18 05:14
浏览 266
已采纳

在Golang中导入自定义包

I have the following:

app/main.go
app/server/server.go
app/server/templates.go

main.go has an import statement of import "app/server", but when compiled, it complains about:

found packages server (server.go) and templates (templates.go) in app/server

Im guessing it is confused about which package to load up? My intention is that server.go will setup the routes and import ./templates.go to render templates.

Is there a better way to layout files? Should I move templates.go to it's own directory?

  • 写回答

1条回答 默认 最新

  • douzhong1730 2014-07-18 05:25
    关注

    Read this: http://golang.org/doc/code.html — but in short:

    • One package per directory/one directory per package. You have both server and templates packages where you should just have one - package main if you are attempting to compile a binary and not a library.

    • Don't use "relative" imports. Use the fully qualified path - i.e. if your base project is $GOPATH/src/github.com/JohnFromSO/myapp then you would import sub-packages as github.com/JohnFromSo/myapp/database.

    • You probably don't need to split out templates.go into a separate package - a good rule of thumb is "would this package be usable if it stood on its own/usable by others?"

    Another good read is https://medium.com/@benbjohnson/structuring-applications-in-go-3b04be4ff091

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况