首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在应用程序中导入本地库和文件

在应用程序中导入本地库和文件
EN

Stack Overflow用户
提问于 2013-05-26 22:33:07
回答 1查看 8.2K关注 0票数 10

我是新手(但不擅长编程),我喜欢Go语言,但我在完全理解我应该通过包在应用程序中创建内部库的方式时遇到了一些麻烦。作为参考,获取外部包,然后导入/使用它们是很好的。

假设我正在制作一个应用程序A。

代码语言:javascript
运行
复制
/home/me/A/a.go (package main)

然后,我意识到a.go开始变得相当大,所以我把它分成两部分

代码语言:javascript
运行
复制
/home/me/A/a.go (package main)
/home/me/A/b.go (package main)

如何从a.go导入/包含b.go以使其功能可用?

作为问题的继续,在A中我操作了许多对象O,所以我认为如果我只给他们自己的包,并将功能封装在公共/导出的api中,会更好。我该怎么做呢?

我尝试过创建./lib/o.go (package o)和import lib/o,但一直收到如下错误

代码语言:javascript
运行
复制
./a.go:6: imported and not used: "o"
./a.go:43: undefined: o

我的环境中没有GOPATH,但是我尝试了export GOPATH=$GOPATH:/home/me/A,它没有改变结果。

我试着读了一篇关于"go layout“的文章,但它立刻让我感觉有点不知所措,我真的很想简单地解释一下我正在尝试的这一”小“步骤

谢谢!

GOPATH/src/me/a/a.go:

代码语言:javascript
运行
复制
package main

func main() {
        test()
}

GOPATH/src/me/a/test.go:

代码语言:javascript
运行
复制
package main

import "fmt"

func test() {
        fmt.Println("test func !")
}

Exec:

代码语言:javascript
运行
复制
$ go run a.go 
# command-line-arguments 
./a.go:4: undefined: test

编辑:在这里得到我的答案:https://groups.google.com/forum/?fromgroups#!topic/golang-nuts/qysy2bM_o1I

可以在go run (go run a.go test.go)中列出所有文件,也可以使用go build并运行生成的可执行文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-26 22:39:33

您正在尝试使用Go构建系统,但没有遵循必要的目录布局。您将从阅读this document中获益良多。

简而言之,这些是,wrt,go工具,显示停止程序:

  • 您必须具有有效的导出
  • 程序包文件,其导入路径必须位于$GOPATH/src/example/foo目录中。

有关更多详细信息,请参阅上面的链接文章。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16760239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档