Go-02


Visual Studio Code
Install Golang:
Set PATH:
C:\Users\LIANG>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\LIANG\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DESKTOP-9C32KLO
ComSpec=C:\Windows\system32\cmd.exe
DriverData=C:\Windows\System32\Drivers\DriverData
GOPATH=C:\Users\LIANG\go
HOMEDRIVE=C:
HOMEPATH=\Users\LIANG
LOCALAPPDATA=C:\Users\LIANG\AppData\Local
LOGONSERVER=\\DESKTOP-9C32KLO
NUMBER_OF_PROCESSORS=4
OneDrive=C:\Users\LIANG\OneDrive
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Go\bin;C:\Users\LIANG\AppData\Local\Microsoft\WindowsApps;C:\Users\LIANG\go\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 154 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=9a03
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\LIANG\AppData\Local\Temp
TMP=C:\Users\LIANG\AppData\Local\Temp
USERDOMAIN=DESKTOP-9C32KLO
USERDOMAIN_ROAMINGPROFILE=DESKTOP-9C32KLO
USERNAME=LIANG
USERPROFILE=C:\Users\LIANG
windir=C:\Windows
C:\Users\LIANG>echo %GOPATH%
C:\Users\LIANG\go
C:\Users\LIANG>echo %GOPROXY%
%GOPROXY%
C:\Users\LIANG>set GOPROXY=https://mirrors.aliyun.com/golang/.direct
C:\Users\LIANG>echo %GOPROXY%
https://mirrors.aliyun.com/golang/.direct
C:\Users\LIANG>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\LIANG\AppData\Local\go-build
set GOENV=C:\Users\LIANG\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\LIANG\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\LIANG\go
set GOPRIVATE=
set GOPROXY=https://mirrors.aliyun.com/golang/.direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLCHAIN=auto
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.21.5
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set GOMOD=NUL
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\LIANG\AppData\Local\Temp\go-build2183451994=/tmp/go-build -gno-record-gcc-switches
C:\Users\LIANG>
C:\Users\LIANG>go version go version go1.21.5 windows/amd64 C:\Users\LIANG>
sysdm.cpl_cmd


C:\Program Files\Go\bin

Install Visual Studio Code
1. Set Go
Path:C:\Users\c2207981\go\bin
GOPATH=C:\Users\c2207981\go
GOROOT=C:\Program Files\Go
GOPROXY=https://goproxy.io,direct
GOPROXY=https://proxy.golang.org,direct #default goproxy
$env:GOPROXY = "https://goproxy.cn,direct"
go install golang.org/x/tools/gopls@latest
2. VScode Go Extensions
Output
Tools environment: GOPATH=C:\Users\c2207981\go
Installing 7 tools at C:\Users\c2207981\go\bin
gopls
gotests
gomodifytags
impl
goplay
dlv
staticcheck
Installing golang.org/x/tools/gopls@latest (C:\Users\c2207981\go\bin\gopls.exe) SUCCEEDED
Installing github.com/cweill/gotests/gotests@v1.6.0 (C:\Users\c2207981\go\bin\gotests.exe) SUCCEEDED
Installing github.com/fatih/gomodifytags@v1.16.0 (C:\Users\c2207981\go\bin\gomodifytags.exe) SUCCEEDED
Installing github.com/josharian/impl@v1.1.0 (C:\Users\c2207981\go\bin\impl.exe) SUCCEEDED
Installing github.com/haya14busa/goplay/cmd/goplay@v1.0.0 (C:\Users\c2207981\go\bin\goplay.exe) SUCCEEDED
Installing github.com/go-delve/delve/cmd/dlv@latest (C:\Users\c2207981\go\bin\dlv.exe) SUCCEEDED
Installing honnef.co/go/tools/cmd/staticcheck@latest (C:\Users\c2207981\go\bin\staticcheck.exe) SUCCEEDED
All tools successfully installed. You are ready to Go. :)
你的代码永远只属于你自己,因此我们向你提供目前世界上最炫酷的自托管 Go 模块代理搭建方案。通过使用 Goproxy 这个极简主义项目,你可以在现有的任意 Web 服务中轻松地引入 Go 模块代理支持,要知道 Goproxy.cn 就是基于它搭建的。
创建一个名为 goproxy.go 的文件
package main
import (
"net/http"
"os"
"github.com/goproxy/goproxy"
)
func main() {
http.ListenAndServe("localhost:8080", &goproxy.Goproxy{
GoBinEnv: append(
os.Environ(),
"GOPROXY=https://goproxy.cn,direct", // 使用 Goproxy.cn 作为上游代理
"GOPRIVATE=git.example.com", // 解决私有模块的拉取问题(比如可以配置成公司内部的代码源)
),
ProxiedSUMDBs: []string{
"sum.golang.org https://goproxy.cn/sumdb/sum.golang.org", // 代理默认的校验和数据库
},
})
}
并且运行它
$ go run goproxy.go
然后通过把 GOPROXY 设置为 http://localhost:8080 来试用它。另外,我们也建议你把 GO111MODULE 设置为 on。
就这么简单,一个功能完备的 Go 模块代理就搭建成功了。事实上,你还可以将 Goproxy 结合着你钟爱的 Web 框架一起使用,比如 Gin 和 Echo,你所需要做的只是多添加一条路由而已。更高级的用法请查看文档。
Renference:
https://goproxy.cn/#self-hosted-go-module-proxy
https://pkg.go.dev/github.com/goproxy/goproxy
222
gopls
gotests
gomodifytags
impl
goplay
dlv
staticcheck
References:
https://juejin.cn/post/7121896806664896543
https://goproxy.io/zh/docs/getting-started.html
配置 Goproxy 环境变量
Bash (Linux or macOS)
export GOPROXY=https://goproxy.io,direct
复制
PowerShell (Windows)
$env:GOPROXY = "https://goproxy.io,direct"
使配置长久生效 (推荐)
上面的配置步骤只会当次终端内生效,如何长久生效呢,这样就不用每次都去配置环境变量了。
Mac/Linux
设置你的 bash 环境变量
echo "export GOPROXY=https://goproxy.io,direct" >> ~/.profile && source ~/.profile
如果你的终端是 zsh,使用以下命令
echo "export GOPROXY=https://goproxy.io,direct" >> ~/.zshrc && source ~/.zshrc
复制
Windows
-
右键 我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
-
在 “[你的用户名]的用户变量” 中点击 ”新建“ 按钮
-
在 “变量名” 输入框并新增 “GOPROXY”
-
在对应的 “变量值” 输入框中新增 “https://goproxy.io,direct”
-
最后点击 “确定” 按钮保存设置
-
快捷键: ctrl+shift+p
-
输入: Go install
-
选择Install/Update Tools

浙公网安备 33010602011771号