首页 > 解决方案 > 从 Windows 本地运行 Go 存储库

问题描述

我搜索并关注了许多文章和文档。到目前为止还不好。我已经从这里安装了 Go for windows 。 转到版本 go1.16.3 windows/amd64。现在我想在本地运行克隆的 Go 项目(名为“go-scrapers”)。我已将系统变量路径设置为我下载的 git 存储库文件夹

在此处输入图像描述

go-scrapers文件夹中,我创建了 3 个新文件夹(pkg,src,bin)如何运行项目?

这是go 环境

set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\Devin\AppData\Local\go-build
set GOENV=C:\Users\Devin\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\Devin\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\Devin\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.16.3
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\Devin\AppData\Local\Temp\go-build488719353=/tmp/go-build -gno-record-gcc-switches

标签: govisual-studio-code

解决方案


我没有使用 Visual Studio Code 的经验,但我可以给你一个更笼统的答案。首先你可以编写你的库,这通常放在 repo 的顶层,好像你把它放得更深(比如pkgor src)然后它使import路径更长。示例包文件:

package multiply

func TimesTwo(n int) int {
   return n * 2
}

然后您可以创建一个使用该库的程序。如果你只有一个程序,你可以使用这样的结构:

multiply.go
multiplier/
   main.go

或者如果你有多个程序,你可以这样做:

multiply.go
mult-one/
   main.go
mult-two/
   main.go

或者:

multiply.go
   bin/
      mult-one/
         main.go
      mult-two/
         main.go

而不是bin,您通常会看到cmd,但取决于您。此外,您不需要GOPATH像以前那样乱来。这是一个示例程序文件:

package main
import "multiply"

func main() {
   n := multiply.TimesTwo(9)
   println(n == 18)
}

要创建模块,请返回到 repo 的顶部,然后运行:

go mod init multiply

请注意,如果您要共享项目,则需要使用类似的东西example.com/user/multiply。最后,要运行程序,进入程序文件夹并运行go build,或者如果它只是一个文件,你可以执行go run main.go.

https://golang.org/cmd/go


推荐阅读