Go 1.6 中的供应商

我已经阅读了尽可能多的文档和 StackOverflow 文章,但我没有运气使用 Go 1.6 中的新供应商功能进行导入。


这是我与Goji放在一起进行测试的示例项目。目录结构是这样的:


.

└── src

    ├── main.go

    └── vendor

        └── github.com

            └── zenazn

                └── goji

                    ├── LICENSE

                    ├── README.md

                    ├── bind

                    ├── default.go

                    ├── example

                    ├── goji.go

                    ├── graceful

                    ├── serve.go

                    ├── serve_appengine.go

                    └── web

并且main.go,项目中的唯一文件是这样的:


package main


import (

    "fmt"

    "net/http"


    "github.com/zenazn/goji"

    "github.com/zenazn/goji/web"

)


func hello(c web.C, w http.ResponseWriter, r *http.Request) {

    fmt.Fprintf(w, "Hello, %s!", c.URLParams["name"])

}


func main() {

    goji.Get("/hello/:name", hello)

    goji.Serve()

}

我的环境变量是这样的:


export GOPATH=~/.go

export GOBIN=$GOPATH/bin

export PATH=$PATH:/usr/local/opt/go/libexec/bin:$GOBIN

我尝试了最简单的构建命令,但没有运气:


go run ./src/main.go

go build ./src/main.go

我还尝试构建:


$GOPATH=`pwd`

……无济于事。我完全错过了什么吗?任何建议表示赞赏。


当年话下
浏览 140回答 1
1回答

慕桂英4014372

我建议您阅读https://golang.org/doc/code.html。它需要一两天的时间来消化,但是在您了解 go 工具如何与源代码和 GOPATH 一起工作后,使用它们真的很容易。回到你的问题。要构建一个简单的 go 程序,您需要:在 $GOPATH/src 下创建目录,例如 mkdir $GOPATH/src/myprogram将所有源代码(包括供应商目录)放在那里:$GOPATH/src/myprogram/main.go, $GOPATH/src/myprogram/vendor.运行go install myprogram以构建您的应用程序并将生成的myprogram二进制文件放入$GOPATH/bin/myprogram
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go