如何在Golang中使用自定义软件包?

我正在尝试在Go中创建和使用自定义包。这可能很明显,但是我找不到很多信息。基本上,这两个文件位于同一文件夹中:


mylib.go


package mylib


type SomeType struct {


}

main.go


package main


import (

    "mylib"

)


func main() {


}

当我尝试时go run main.go,出现此错误:


main.go:4:2: import "mylib": cannot find package

我尝试先运行,go build mylib.go但似乎没有做任何事(没有生成文件,没有错误消息)。所以有什么主意我该怎么做吗?


牧羊人nacy
浏览 501回答 3
3回答

有只小跳蛙

首先,请务必阅读并理解“如何编写Go代码”文档。实际答案取决于您“定制包装”的性质。如果打算用于一般用途,请考虑采用所谓的“ Github代码布局”。基本上,使您的库成为一个单独的go get表项目。如果您的库供内部使用,则可以这样:将包含库文件的目录放置在项目目录下。在项目的其余部分,请使用相对于包含该项目的工作区根目录的路径来引用该库。展示:src/  myproject/    mylib/      mylib.go      ...    main.go现在,在顶层中main.go,您可以import "myproject/mylib"并且它将正常运行。

泛舟湖上清波郎朗

对于这种文件夹结构:main.gomylib/  mylib.go最简单的方法是使用此方法:import (    "./mylib")
打开App,查看更多内容
随时随地看视频慕课网APP