在标准包装窗口中非标准进口

use*_*898 0 go

由于出现此错误,我似乎无法运行我的go代码

非标准导入“ goprojects / search”中的“ gopkg.in/olivere/elastic.v5”

Main.go位于:C:\ Go \ src \ goprojects \ search \ main.go

GOROOT是C:\ Go

GOPATH是C:\ Go \ src \ goprojects(试图在此处将我当前的工作目录添加到\ search,但没有帮助)

当我运行“ go get gopkg.in/olivere/elastic.v5”时,我在C:\ Go \ src \ goprojects \ src \ gopkg.in \ olivere \ elastic.v5中获取了导入文件

Visual Studio代码给了我这个信息

在以下任何位置均找不到软件包“ go.pkg.in/olivere/elastic.v5”:

C:\ Go \ src \ vendor \ gopkg.in \ olivere \ elastic.v5(供应商树)

C:\ Go \ src \ gopkg.in \ olivere \ elastic.v5(从$ GOROOT起)

C:\ Go \ src \ goprojects \ src \ gopkg.in \ olivere \ elastic.v5(来自$ GOPATH)

我的代码

package main

import (
    "fmt"
    "net/http"

    elastic "gopkg.in/olivere/elastic.v5"
)

func main() {
    http.HandleFunc("/search", search)
    http.ListenAndServe(":3000", nil)
}

func search(w http.ResponseWriter, r *http.Request) {
    searchString := r.URL.Query().Get("q")
    fmt.Println("Searching for" + searchString)

    // Create a client
    client, err := elastic.NewClient()

    w.Write([]byte(searchString))
}
Run Code Online (Sandbox Code Playgroud)

use*_*898 5

将我的goprojects从我的GoRoot路径移到了C:\ goprojects中的一个单独的文件夹中,并用新路径替换了我的GoPath,它起作用了。