go - 从 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
解决方案
我没有使用 Visual Studio Code 的经验,但我可以给你一个更笼统的答案。首先你可以编写你的库,这通常放在 repo 的顶层,好像你把它放得更深(比如pkg
or 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
.
推荐阅读
- lambda - 如何设计高阶函数
- android - 视图模型中的空对象
- r - 从一列中过滤多个变量
- java - 其他类的 Arraylist 为空
- ruby - SSL_connect 返回=1 errno=0 状态=未知状态:未知协议
- php - 如何在我的 docker 映像中添加帮助脚本 docker-php-ext-configure、docker-php-ext-install
- c++ - c++11 求值顺序(未定义行为)
- javascript - Discord.js 搜索关键术语
- rest - 如何将价值从休息服务传递到骆驼路线?
- openstack - 使用 conjure-up NovaKVM Charm 部署后无法登录 Horizon Dashboard