问题描述
我是新来的模块建造者。我想做的是使用其他开发人员可以在其go代码中使用的常用方法创建一个go库。
因此,我首先在内部github中创建了一个仓库https://internalgithub/<org>/lib-go.git
回购结构如下
$ tree
.
├── README.md
├── go.mod
├── go.sum
└── main.go
main.go
文件包含以下内容
package main
import (
"flag"
"os"
"path/filepath"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
)
func main() {}
func someFunctinDevelopersNeed(cluster bool) kubernetes.Interface {
if cluster == false {
var kubeconfig *string
.
.
return clientset
}
该代码在我的组织github的master分支中可用。
编写代码的下一个任务是调用该库,然后调用方法someFunctinDevelopersNeed
所以在我的应用程序代码中,main.go看起来像
package main
import "internalgithub/<org>/lib-go"
func main() {
clientset = someFunctinDevelopersNeed()
.
.
}
但是当我尝试做 go get -t -v internalgithub/<org>/lib-go
时,我会得到
runtime.main_main·f: function main is undeclared in the main package
有什么我想念的吗?
编辑:
基于建议,现在我已完成以下操作
$ tree
.
├── README.md
├── go.mod
├── go.sum
└── kubernetes
└── kubernetes.go
kubernetes.go
以
package kubernetes
import (
"flag"
"os"
"path/filepath"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
)
func someFunctinDevelopersNeed(cluster bool) kubernetes.Interface {
if cluster == false {
var kubeconfig *string
.
.
return clientset
}
即使进行了这些更改,我仍然遇到相同的错误