试图在Golang中包裹我的包.
这是我的工作区
/bin
/pkg
/src
/github.com
/esbenp
/testrepo
/subpackage
somefuncs.go
main.go
Run Code Online (Sandbox Code Playgroud)
main.go
package main
import "github.com/esbenp/testrepo/subpackage"
func main() {
Somefunc()
}
Run Code Online (Sandbox Code Playgroud)
somefuncs.go
package subpackage
import "fmt"
func Somefunc() {
fmt.Printf("yo")
}
Run Code Online (Sandbox Code Playgroud)
我的印象是,自从Somefunc以大写字母开头,它将被导出以用于导入它的其他文件.我在控制台中获得的输出是.
main.go:4: imported and not used: "github.com/esbenp/testrepo/subpackage"
main.go:8: undefined: Somefunc
Run Code Online (Sandbox Code Playgroud)
有人能指出我正确的方向吗?
您必须通过包属于的名称为函数添加前缀:subpackage.Somefunc().
如果您有多个具有相同名称的子包,则必须在导入它们时对它们进行别名,否则会发生冲突:
import (
xapi "x/xx/xxx/api"
yapi "y/yy/yyy/api"
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
327 次 |
| 最近记录: |