Goland跨平台编译实战:Windows下如何一键生成Linux/Mac可执行文件

uds协议之can总线程序升级 uds协议简介 如何利用uds协议升级 升级流程 uds服务类型介绍 阅读详情

Goland跨平台编译实战:Windows下如何一键生成Linux/Mac可执行文件

作为一名在Windows上“耕耘”的Go开发者,你是否也经历过这样的场景:本地调试一切顺利,代码逻辑清晰,功能运行完美。然而,当满怀信心地将代码部署到生产环境的Linux服务器,或者交付给使用Mac的同事时,一个冰冷的“exec format error”或“cannot execute binary file”错误,瞬间将你拉回现实。这背后,正是平台差异导致的二进制文件不兼容问题。传统的解决方案是登录目标服务器重新编译,但这不仅繁琐,还破坏了开发环境的纯净性,更别提那些没有编译环境的特殊场景了。

幸运的是,Go语言从设计之初就为交叉编译提供了近乎“开箱即用”的支持。而作为Go开发者的得力助手,Goland IDE更是将这一能力封装得更加便捷和自动化。今天,我们不谈枯燥的理论,直接切入实战,分享一套在Windows下利用Goland配置“一次编写,处处编译”的自动化工作流。这套方法不仅能帮你快速生成针对Linux、macOS乃至各种ARM架构的可执行文件,更能通过巧妙的配置,实现一键触发、路径清晰、成果集中的高效编译体验,让你彻底告别手动敲命令的重复劳动。

1. 理解交叉编译:Go的“超能力”与Goland的“放大器”

在深入配置之前,我们有必要先厘清几个核心概念。这能帮助你在遇到问题时,不仅知道“怎么做”,更明白“为什么”。

交叉编译,简而言之,就是在A平台上,生成能在B平台上运行的代码。对于Go而言,这之所以成为可能,得益于其编译器工具链的高度自包含性。Go编译器本身是用Go写的,并且标准库的绝大部分也是纯Go代码,不依赖特定平台的C库。这意味着,只要在编译时告诉Go编译器目标平台的操作系统(GOOS)和处理器架构(GOARCH),它就能调用相应的内部逻辑,生成对应的机器码。

注意:虽然Go的交叉编译支持非常出色,但如果你在项目中使用了cgo(即调用了C代码),情况会变得复杂。因为cgo需要目标平台的C编译器(如gcc)和库文件。本文主要讨论纯Go项目或已妥善处理cgo依赖的情况。

那么,GOOS和GOARCH这对环境变量就是控制交叉编译的“钥匙”。以下是一些最常见的组合:

目标平台GOOS 值GOARCH 值说明
Windows 64位windowsamd64最常见的Windows桌面/服务器环境
Linux 64位linuxamd64绝大多数云服务器和容器的标准环境
macOS Intel芯片darwinamd64基于Intel处理器的Mac电脑
macOS Apple Silicondarwinarm64基于M1/M2/M3等ARM芯片的Mac电脑
Linux ARMv7 (树莓派3B+)linuxarm需要指定GOARM=7以启用硬件浮点运算
Linux ARM64 (树莓派4B)linuxarm6464位ARM架构,性能更佳

Goland作为一款智能IDE,其价值在于将这些命令行操作可视化、模板化、自动化。它允许你为不同的编译目标创建独立的“运行/调试配置”,每个配置都可以预设好环境变量和输出路径。你无需记忆复杂的命令,只需点击一个按钮,就能触发针对特定平台的编译过程。接下来,我们就开始动手配置。

2. 基础配置:在Goland中创建你的第一个跨平台编译任务

让我们从创建一个针对Linux AMD64服务器的编译配置开始。打开你的Goland项目,请跟随以下步骤操作。

首先,在Goland右上角,找到运行配置的下拉菜单,点击并选择 Edit Configurations...。

在弹出的窗口中,点击左上角的 + 号,选择 Go Build。这将创建一个新的Go编译配置。

现在,我们需要为这个配置赋予灵魂——设置环境变量。在配置页面的中部,找到 Environment 输入框。这里就是指定GOOS和GOARCH的地方。格式为多个环境变量以分号分隔,例如:

GOOS=linux;GOARCH=amd64

同时,为了让我们编译出的文件易于识别和管理,强烈建议设置输出路径。在 Output directory 字段中,指定一个目录。我个人的习惯是在项目根目录下创建一个build或dist文件夹,然后按平台子目录存放。例如,你可以设置为:

$ProjectFileDir$/build/linux_amd64/

提示:$ProjectFileDir$是Goland的内置宏,代表当前项目的绝对路径。使用宏可以让配置更具可移植性,即使项目路径变更也不会失效。

最后,别忘了给这个配置起一个清晰的名字,比如“Build for Linux AMD64”。完成后的配置界面关键部分应类似下图(概念示意):

  • Name: Build for Linux AMD64
  • Run kind: Package (通常选择编译整个包)
  • Environment: GOOS=linux;GOARCH=amd64
  • Output directory: $ProjectFileDir$/build/linux_amd64/

点击Apply和OK保存。现在,你只需在运行配置下拉框中选择“Build for Linux AMD64”,然后点击绿色的运行按钮(或使用快捷键Shift+F10),Goland就会自动编译并将可执行文件输出到指定的build/linux_amd64/目录下。将这个文件上传到你的Linux服务器,它就应该能直接运行了。

3. 进阶自动化:构建“一键多目标”编译工作流

基础配置解决了单个目标的编译问题。但在实际开发中,我们经常需要同时为多个平台生成二进制文件,例如在发布一个工具时,需要提供Windows、Linux、macOS等多个版本。重复点击不同的配置进行编译显然不够高效。我们可以通过两种方式来实现自动化。

方法一:利用Goland的“Compound”运行配置

Goland允许你将多个运行配置组合成一个“复合配置”,顺序执行。

  1. 再次进入 Edit Configurations...。
  2. 点击 +,这次选择 Compound。
  3. 为你这个“发布包”复合配置起个名字,比如“Release All”。
  4. 在右侧的配置列表中,勾选你之前创建好的各个平台的Go Build配置(例如“Build for Linux AMD64”、“Build for Windows AMD64”、“Build for Mac ARM64”等)。
  5. 保存后,你只需要运行这个“Release All”配置,Goland就会依次执行所有被包含的编译任务,一次性生成所有目标平台的可执行文件。

方法二:编写自定义的Go Generate脚本(更灵活)

对于更复杂的场景,比如需要在编译前清理旧文件、编译后计算哈希值、打包压缩等,使用一个Go脚本来控制流程会更加灵活。虽然这超出了纯Goland配置的范畴,但二者可以完美结合。

你可以在项目根目录创建一个build.go(或tools.go)文件,利用//go:generate指令。但更常见的做法是创建一个独立的脚本文件,例如build.sh(在Windows下可以用build.bat或PowerShell脚本)。这里以PowerShell为例,展示一个简单的多平台编译脚本:

# build.ps1 - 多平台交叉编译脚本
$projectName = "myapp" # 你的应用名称
$version = "v1.0.0" # 版本号
$outputDir = ".\release\$version\"

# 定义目标平台数组
$targets = @(
    @{GOOS="linux"; GOARCH="amd64"; Suffix=""},
    @{GOOS="darwin"; GOARCH="amd64"; Suffix=""},
    @{GOOS="darwin"; GOARCH="arm64"; Suffix=""},
    @{GOOS="windows"; GOARCH="amd64"; Suffix=".exe"}
)

# 清理并创建输出目录
Remove-Item -Path $outputDir -Recurse -ErrorAction SilentlyContinue
New-Item -ItemType Directory -Path $outputDir -Force | Out-Null

foreach ($target in $targets) {
    $env:GOOS = $target.GOOS
    $env:GOARCH = $target.GOARCH
    
    $outputName = "$projectName"
    if ($target.Suffix) {
        $outputName += $target.Suffix
    }
    $outputPath = Join-Path $outputDir "$($target.GOOS)_$($target.GOARCH)" $outputName
    
    Write-Host "Building for $($target.GOOS)/$($target.GOARCH)..." -ForegroundColor Green
    
    # 执行go build命令
    go build -o $outputPath ./cmd/myapp # 请将./cmd/myapp替换为你的main包路径
    
    if ($LASTEXITCODE -eq 0) {
        Write-Host "  -> Success: $outputPath" -ForegroundColor Cyan
    } else {
        Write-Host "  -> Failed!" -ForegroundColor Red
    }
}

Write-Host "`nAll builds completed. Output directory: $outputDir" -ForegroundColor Yellow

然后,你可以在Goland中创建一个 Go Run 类型的配置,但“Run kind”选择 File,并指向这个build.ps1脚本文件(需要系统支持PowerShell)。或者,更简单的方式是直接使用Goland内置的终端运行这个脚本。这种方式将编译逻辑代码化,易于版本管理和团队共享。

4. 路径、依赖与调试:实战中的疑难杂症解决指南

配置过程并非总是一帆风顺。下面我整理了几个在实战中频繁遇到的问题及其解决方案,希望能帮你绕过这些“坑”。

问题一:输出文件路径混乱或找不到

  • 症状:编译成功,但不知道文件生成到哪里去了;或者期望输出到指定目录,却出现在了别处。
  • 排查:
    1. 首先确认Goland配置中的Output directory路径是否正确。注意使用绝对路径或$ProjectFileDir$宏。
    2. 检查目标目录是否存在且有写入权限。Goland不会自动创建不存在的中间目录,你需要确保路径中的文件夹已经存在。
    3. 如果你在代码中硬编码了资源文件(如配置文件、模板)的相对路径,在交叉编译后,程序的工作目录可能发生变化。建议使用embed包(Go 1.16+)或将资源路径通过命令行参数或环境变量传入。

问题二:CGO_ENABLED带来的麻烦

  • 症状:项目依赖了C库,在交叉编译时失败,提示找不到头文件或链接库。
  • 解决思路:
    1. 最佳实践:尽量避免在需要跨平台部署的项目中使用cgo。寻找纯Go的替代库。
    2. 如果必须使用:你需要为目标平台安装对应的C交叉编译工具链。在Windows上,这通常意味着使用MinGW-w64或MSYS2。然后,在编译时除了设置GOOS和GOARCH,还需要显式设置CGO_ENABLED=1,并正确配置CC(C编译器)等环境变量。这是一个相对复杂的话题,通常需要针对特定C库进行专门配置。

问题三:如何调试跨平台编译出的程序?

本地编译的程序可以用Goland直接调试,但为其他平台编译的二进制文件不行。这时可以:

  1. 远程调试:在目标机器(如Linux服务器)上运行dlv(Delve调试器)服务端,在本地Goland中配置远程调试连接。这需要网络互通且在目标机器上安装Go和Delve。
  2. 容器化调试:使用Docker。创建一个包含目标系统镜像(如alpine:latest)和Go调试工具的容器,将编译好的二进制文件挂载进去,在容器内部用dlv进行命令行调试。这能最大程度模拟目标环境。
  3. 日志与输出:对于许多问题,增加详细的日志输出是更简单有效的调试手段。确保你的程序有不同级别的日志记录功能。

问题四:管理多个项目的配置模板

如果你经常创建新项目,每次都重复配置一遍环境变量和输出路径很麻烦。Goland支持将配置保存为模板。

  1. 在Edit Configurations窗口,配置好一个理想的Go Build配置。
  2. 不要点击OK,而是点击窗口左下角的 Save as a Template... 按钮。
  3. 为模板命名,例如“Go Cross-Compile Linux”。
  4. 以后新建项目时,在Edit Configurations中点击+,选择Go Build,你会在配置列表的顶部看到“Templates”分组,里面就有你保存的模板,直接应用即可。

5. 融入CI/CD:让编译与部署流水线化

对于团队项目或持续交付场景,将交叉编译集成到CI/CD(持续集成/持续部署)流水线中是必然选择。这样能确保每次代码提交都能自动为所有目标平台生成可用的构建产物。

以流行的GitHub Actions为例,你可以创建一个.github/workflows/release.yml文件,定义如下的工作流:

name: Release Build

on:
  push:
    tags:
      - 'v*' # 仅在推送版本标签时触发

jobs:
  build:
    runs-on: ubuntu-latest # 在Linux runner上执行,它本身就是一个优秀的交叉编译环境
    strategy:
      matrix:
        # 定义需要构建的所有目标平台
        target:
          - { goos: linux, goarch: amd64 }
          - { goos: linux, goarch: arm64 }
          - { goos: darwin, goarch: amd64 }
          - { goos: darwin, goarch: arm64 }
          - { goos: windows, goarch: amd64 }
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-go@v5
        with:
          go-version: '1.21' # 指定Go版本
      - name: Build
        # 使用矩阵变量设置环境并编译
        run: |
          GOOS=${{ matrix.target.goos }} GOARCH=${{ matrix.target.goarch }} go build -o ./release/myapp-${{ matrix.target.goos }}-${{ matrix.target.goarch }}${{ matrix.target.goos == 'windows' && '.exe' || '' }} ./cmd/myapp
      - name: Upload Artifacts
        uses: actions/upload-artifact@v4
        with:
          name: binaries-${{ matrix.target.goos }}-${{ matrix.target.goarch }}
          path: ./release/myapp-*

这个工作流会在你推送一个类似v1.2.3的标签时自动触发,在GitHub提供的Ubuntu环境中,并行地为5个不同的平台编译你的Go应用,并将生成的可执行文件打包成工件,供你下载或用于后续的发布流程。

将这套流程与Goland本地的便捷配置结合,就形成了一套从本地开发、一键编译测试,到自动化云端构建发布的完整工具链。本地用Goland快速验证,提交后由CI保证所有平台构建的稳定性和可重复性,极大地提升了开发效率和交付质量。

说到底,工具的价值在于解放生产力。花一点时间搭建好这套Goland交叉编译环境,就像是为你常用的工作台添置了一套顺手的多功能扳手。初期可能会觉得有点折腾,但一旦配置妥当,后续的每一次跨平台交付都会变得无比顺畅。我自己的项目现在基本都采用了“Goland模板 + PowerShell脚本 + GitHub Actions”的三段式组合,本地开发体验和团队协作效率都得到了实实在在的提升。如果你在配置过程中遇到了上面没覆盖到的奇怪问题,不妨去检查一下Go的版本是否最新,或者项目依赖中是否有那个“特别”的库,很多时候,问题就藏在这些细节里。

C++动态规划详解 动态规划思想 一、动态规划概念: 动态规划(dp)是研究多步决策过程最优化问题的一种数学方法。在动态规划中,为了寻找一个问题的最优解(即最优决策过程),将整个问题划分成若干个相应的阶段,并在每个阶段都根据先前所作出的决策作出当前阶段最优决策,进而得出整个问题的最优解。即记住已知问题的答案,在已知的答案的基础上解决未知的问题。 在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后 阅读详情

相关推荐

AD9371实战:如何用ZCU106搭建JESD204B TX时钟链(含关键参数计算)

本文详细解析了如何基于Xilinx ZCU106开发板为AD9371搭建JESD204B TX时钟链。文章从系统需求出发,逐步推导出从IQ采样率到GTH线速率的关键参数计算公式,并提供了在Vivado中配置GTH收发器(包括QPLL选择、分频比设置)的实战步骤与调试技巧,旨在帮助硬件工程师快速实现稳定可靠的JESD204B高速数据传输链路。

weixin_29164843的博客 293

如何构建针对不同操作系统和架构的golang application.解决cannot execute binary file exec format error 问题

golang针对不同的系统和平台构建对应的可执行程序,当可执行程序与运行环境的系统或平台不对应的时候会报错 cannot execute binary file exec format error

u011285281的博客 1078

三相电机控制中的端电压、相电压与线电压波形解析

本文深入解析了三相电机控制中端电压、相电压与线电压的核心概念与波形差异。通过对比方波控制、SPWM和SVPWM三种主流控制策略下的实测波形特征,揭示了不同控制逻辑对电压波形(如梯形波、正弦波、马鞍波)的影响。文章重点阐述了SVPWM控制如何通过生成马鞍波形端电压来提高直流母线电压利用率,并提供了实用的波形测量与调试指南,帮助工程师深入理解电机控制原理并进行有效调试。

qsc901234567的博客 1400

Linux 安装go遇到cannot execute binary file: Exec format error错误

Linux 安装go遇到cannot execute binary file: Exec format error错误 首先我先过一遍linux安装go的过程 在安装go之前我们要确定我们要安装那种版本的go,常见的版本有以下几种: go1.16.3.linux-386.tar.gz 这个版本是32位linux系统使用的 go1.16.3.linux-amd64.tar.gz 这个版本是64位linux系统且架构是x86架构的64位扩展的系统使用的 go1.16.3.linux-arm64.tar.gz

xinliucs的博客 1万+

如何理解反步法设计控制器?

假设以二阶系统为例,被控对象的系统状态方程为: 基于反步控制的具体方法如下: 1.1步骤一 定义期望状态为xd,状态误差e1,为: e1=x1-xd; 则e1的导数为: 1.2步骤二 定义虚拟控制量为: e2定义为: 1.3步骤三 定义Lyapunov能量函数为: 1.4步骤四 定义总Lyapunov能量函数为: 因此设计的控制律为: 设计c>0,则: 满足Lyapunov的稳定性判定条件...

weixin_42736130的博客 2万+

ESM2蛋白预训练模型 蛋白质、氨基酸向量表示

参考: https://github.com/facebookresearch/esm https://huggingface.co/facebook/esm2_t33_650M_UR50D https://esmatlas.com/resources?action=fold tokenizer_对输入蛋白会头尾添加cls、eos特殊字符,占两个字符长度 参考:https://github.com/facebookresearch/esm 直接clone下来代码

weixin_42357472的博客 1万+

解决go语言: cannot execute binary file: Exec format error

原因: go 安装包和当前系统版本不匹配。请在 https://studygolang.com/dl 仔细选择。 例如ubuntu 64位系统 ,下载的安装包arm的,应该下载amd。

吴长空的技术随笔 2万+

S/4HANA 迁移前的必修课:用 SCMON 找出沉睡的自定义代码

SAP S/4HANA迁移项目中,SCMON工具能有效解决历史代码评估难题。通过监控ABAP对象调用情况,SCMON可识别40-60%处于"沉睡"状态的自定义代码。配置时需注意监控周期(建议3-6个月)和数据保留期(建议1年),并配合Time Slices功能进行时段分析。工具导出的调用数据可与测试覆盖率对比,帮助决策代码迁移优先级。实际应用中需结合业务场景,建议与SUSG工具配合使用,并保持持续监控。SCMON虽不能完全替代人工判断,但其提供的客观数据能显著提升迁移决策的科学性,建议在

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 291

跨平台开发新姿势:用GoLand+Docker在Windows/Mac上调试Linux容器项目

本文详细介绍了如何利用GoLand和Docker在Windows/Mac上调试Linux容器项目,实现跨平台开发的无缝体验。通过配置Docker容器和GoLand远程连接,开发者可以轻松解决环境差异问题,提升开发效率。文章还提供了针对不同平台的优化技巧和常见问题解决方案。

u5v6w7的博客 533

【高级强化学习:算法、优化与泛化】第13章 扩散模型策略优化(Diffusion Policy Optimization)

\quad$ 计算均值 $\mu_t = \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{1 - \alpha_t}{\sqrt{1 - \bar{\alpha}_t}} \tilde{\epsilon} \right)$.$\quad$ 组合得分估计: $\tilde{\epsilon} = \epsilon_{\text{unc}} + w \cdot (\epsilon_{\text{con}} - \epsilon_{\text{unc}})$.

u012133341的博客 338

MIKE水动力笔记7_实测数据与模型输出结果的拟合对比

上一博文【MIKE水动力笔记6】主要讲解如何自己制作实测数据的时间序列文件dfs0,而本博文讲解如何进行实测数据与模型输出结果的拟合对比。

晏长街的博客 1万+

手把手教你实现Golang跨平台编译

前言之前的文章,我们已经搭建了Go语言环境,可以戳这里:手把手带你进行Golang环境配置,还实现了第一个Go程序,本次我们来安排一下如何实现跨平台编译。跨平台编译跨平台编译,也叫交叉编译...

菜鸟小白的学习分享 4416

【基础-多选】HarmonyOS鸿蒙应用开发

1、HarmonyOS提供了基础的应用加固安全能力,包括混淆、加密和代码签名能力。正确2、可以通过ohpm uninstall 指令下载指定的三方库。错误3、支持模块化开发是指一个应用通常会包含多种功能,将不同的功能特性按模块来划分和管理是一种良好的设计方式。在开发过程中,我们可以将每个功能模块作为一个独立的Module进行开发,Module中可以包含源代码、资源文件、第三方库、配置文件等,每一个Module可以独立编译,实现特定的功能。这种模块化、松耦合的应用管理方式有助于应用的开发、维护与扩展。正确。

江拥羡橙的博客 1万+

go入门-环境搭建,GoLand安装

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。 Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. 环境搭建.

ForFuture 5880

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

mac下编译的程序linux下运行,Golang 编译Mac、Linux、Windows多平台可执行程序

Golang 支持在一个平台下生成多个平台运行包编译之后直接可执行,使用起来非常方便1.MacMac下编译Linux, Windows平台的64位可执行程序:CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.goCGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go2.LinuxLinu...

weixin_39881387的博客 418

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Golang起步篇(Windows、Linux、mac三种系统安装配置go环境以及IDE推荐以及入门语法详细释义)

Golang起步篇(Windows、Linux、mac三种系统安装配置go环境以及IDE推荐以及入门语法详细释义)

weixin_54626591的博客 1万+

Golang 在 Mac、Linux、Windows 下如何交叉编译

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序。 GOOS:目标平台的操作系统(darwin、freebsd、linux、windows) GOARCH:目标平台的体系架构(386、amd64、arm) 具体组合,详见 Windows 下编译 Mac 和 Linux 64位可执行程序 SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build main.go SET CGO_ENABLED=0 SET GOOS=

飞乐鸟的博客 965

linux程序员macbook,Golang 编译Mac、Linux、Windows多平台可执行程序

Golang 支持在一个平台下生成多个平台运行包编译之后直接可执行,使用起来非常方便1.Mac Mac下编译Linux, Windows平台的64位可执行程序:CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go2.Linux ...

weixin_29207439的博客 189

Golang 在 Mac、Linux、Windows 交叉编译

Mac 下编译 Linux 和 Windows 64位可执行程序CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.goLinux 下编译 Mac 和 Windows 64位可执行程序CGO_ENABLED=0 GOOS=darwin...

John_lidong的博客 999

gogland跨平台编译

go支持跨平台编译,平时我们在mac或者windows上面开发,部署服务器的时候需要编译成linux的可执行文件,可以使用命令行进行跨平台编译,每次敲命令有点麻烦,gogland简单配置一下也可以实现跨平台编译。

此间少年的专栏 2677

golang mac编译linux程序,Golang 在 Mac、Linux、Windows 下如何交叉编译

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。Mac 下编译 Linux 和 Windows 64位可执行程序CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.goCGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.goLi...

weixin_39740737的博客 106

goland设置goroot_go环境搭建-goland使用、gopath、go命令

Liniux/mac环境:以linux为例,Go 有多种安装方式,比如 Go 源码安装、Go 标准包安装、第三方工具(yum、apt-get 等)安装。我们选择通过标准包来安装 Go 编译环境。Go 提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go。当然你可以改变它们的安装位置,但是改变之后你必须在你的环境变量中设置如下两个环境变量:GOROOT:GOROOT...

weixin_29430629的博客 1917

【Go 基础篇】从零到一:手把手搭建高效Go开发环境

本文详细介绍了如何从零开始搭建高效的Go开发环境,包括Go语言安装、环境变量配置(GOROOT和GOPATH)、开发工具选择(如VS Code和GoLand)以及常见问题解决。通过清晰的步骤和实用技巧,帮助开发者快速上手Go语言开发,提升工作效率。

cong84596496的博客 324
上一篇: TortoiseSVN安装与团队协作指南_Win10环境
下一篇: Camera Tuning工程师:从芯片平台到成像艺术的幕后推手
mm9012
博客等级 码龄14年 422粉丝 1598原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值