vscode容器安装

安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: "2.1"
services:
code-server:
image: linuxserver/code-server:latest
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- PASSWORD=123123
- SUDO_PASSWORD=123123
- DEFAULT_WORKSPACE=/config/workspace
- GOROOT=/config/go
- GOPATH=/config/gopath
- GOPROXY=https://goproxy.cn,direct
- PATH=$PATH:/config/go/bin:/config/gopath/bin
volumes:
- /data/vscode/config:/config
ports:
- 8443:8443
restart: unless-stopped

go跨平台编译

默认我们go build的可执行文件都是当前操作系统可执行的文件,Go语言支持跨平台编译——在当前平台(例如Windows)下编译其他平台(例如Linux)的可执行文件。

Windows编译Linux可执行文件

如果我想在Windows下编译一个Linux下可执行文件,那需要怎么做呢?只需要在编译时指定目标操作系统的平台和处理器架构即可。

注意:无论你在Windows电脑上使用VsCode编辑器还是Goland编辑器,都要注意你使用的终端类型,因为不同的终端下命令不一样!!!目前的Windows通常默认使用的是PowerShell终端。

如果你的Windows使用的是cmd,那么按如下方式指定环境变量。

1
2
3
SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux // 目标平台是linux
SET GOARCH=amd64 // 目标处理器架构是amd64

如果你的Windows使用的是PowerShell终端,那么设置环境变量的语法为

1
2
3
$ENV:CGO_ENABLED=0
$ENV:GOOS="linux"
$ENV:GOARCH="amd64"

在你的Windows终端下执行完上述命令后,再执行下面的命令,得到的就是能够在Linux平台运行的可执行文件了。

1
go build

Windows编译Mac可执行文件

Windows下编译Mac平台64位可执行程序:

cmd终端下执行:

1
2
3
4
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build

PowerShell终端下执行:

1
2
3
4
$ENV:CGO_ENABLED=0
$ENV:GOOS="darwin"
$ENV:GOARCH="amd64"
go build

Mac编译Linux可执行文件

Mac电脑编译得到Linux平台64位可执行程序:

1
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

Mac编译Windows可执行文件

Mac电脑编译得到Windows平台64位可执行程序:

1
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Linux编译Mac可执行文件

Linux平台下编译Mac平台64位可执行程序:

1
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build

Linux编译Windows可执行文件

Linux平台下编译Windows平台64位可执行程序:

1
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

go常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# go常用命令
go env #查看go环境变量
go env -w GOPROXY=https://goproxy.cn,direct #设置国内代理
go mod init hello #初始化mod项目
go build -o heiheihei.exe #编译并重命名
go run main.go #运行代码
go install #安装命令,可执行文件会存储到gopath的bin目录下

# go mod常用命令
go mod download #下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录)
go mod edit #编辑go.mod文件
go mod graph #打印模块依赖图
go mod init #初始化当前文件夹, 创建go.mod文件
go mod tidy #增加缺少的module,删除无用的module
go mod vendor #将依赖复制到vendor下
go mod verify #校验依赖
go mod why #解释为什么需要依赖

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!