Итак, я хочу создать библиотеку, которую я могу использовать из сценария/проекта, который я создаю. Библиотека называется go_nessus, (полный исходный код: http://github.com/kkirsche/go-nessus), но у меня возникла проблема при импорте.Импортированный пакет Golang, говорящий Undefined/Not Available
Пример кода go_nessus:
# go-nessus/client
package go_nessus
import (
"fmt"
)
func (nessus *Nessus) MakeClient(host, port, accessKey, secretKey string) Nessus {
return Nessus{
Ip: fmt.Sprintf("%s", host),
Port: fmt.Sprintf("%s", port),
AccessKey: fmt.Sprintf("%s", accessKey),
SecretKey: fmt.Sprintf("%s", secretKey),
}
}
При попытке использовать это, хотя я получаю следующее сообщение об ошибке:
~/g/G/s/g/k/attempt ❯❯❯ go install -race && $GOPATH/bin/attempt
# github.com/kkirsche/attempt
./attempt.go:6: undefined: go_nessus.MakeClient
тест-файл выглядит так:
package main
import "github.com/kkirsche/go-nessus"
func main() {
nessusClient := go_nessus.MakeClient("localhost", "8834", "ExampleAccessKey", "ExampleSecretKey")
}
Я, к сожалению, не могу понять, как на самом деле использовать методы, которые я создал без ошибок. Любая помощь будет принята с благодарностью при выяснении, что не так с моим процессом импорта.
Мои go env
:
GOARCH="amd64"
GOBIN="/Users/kkirsche/git/Go/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/kkirsche/git/Go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT=""
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
FWIW следует избегать подчеркивания в именах пакетов - '' nessus' или gonessus' будет лучше. См. Здесь: https://golang.org/doc/effective_go.html#names – elithrar