当前位置: 首页 > news >正文

golang编译

编译时环境变量‌(如指定平台参数)仅影响编译输出,与运行环境无关
‌运行环境变量‌(如GOROOT/GOPATH)需在新机器重新配置 ‌

指定环境变量法

IDE

goland 编译选项 enviroment 填入CGO_ENABLED=0;GOOS=linux;GOARCH=amd64;GF_GCFG_FILE=config.dev.yaml

仅本次生效 之后会还原

手动填写

或者在build之前手动填写

win

cmd windows

set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build -o text text.go

CGO_ENABLED=0关闭CGO以避免动态链接库依赖问题

在 Windows 系统中通过 SET 命令修改环境变量仅在命令行窗口有效,关闭后恢复默认设置

注意 goland 的win版本默认使用powershell 导致无效
需要 这样

$env:GOOS="linux"

unix

在 Unix-like 系统(如 Linux 或 macOS)中使用:

bash
Copy Code
export MY_VAR=“some_value”

检查

完成后 用go env查看修改成功没有

makefile法

通过编写 Makefile,您可以直接在 Makefile 中定义 GOOS 和 GOARCH 变量,从而避免手动切换环境变量。例如:

此命令将直接在 Linux 环境下进行交叉编译,无需手动设置和恢复 GOOS。

build标签

命令行参数

注意 如果你用了-o会覆盖goland输出目录设置
-o build -o /path/to/your/output/directory/your-program-name

go程序中设置环境变量

在 Go 程序中设置
在 Go 程序中,你可以使用 os.Setenv 函数来设置环境变量:

go
Copy Code
package main

import (
“os”
)

func main() {
os.Setenv(“MY_VAR”, “some_value”)
// 现在你可以通过 os.Getenv 获取这个环境变量
}
2. 获取环境变量
在 Go 程序中,你可以使用 os.Getenv 函数来获取环境变量的值:

go
Copy Code
package main

import (
“fmt”
“os”
)

func main() {
value := os.Getenv(“MY_VAR”)
fmt.Println(“MY_VAR:”, value)
}

使用ldflags传递配置

对于需要传递配置信息到最终二进制文件的情况,可以使用-ldflags参数:

go build -ldflags "-X main.Version=1.0.0"

这里main.Version是Go代码中的一个变量,你可以在代码中这样访问它:

package mainimport "fmt"var Version stringfunc main() {fmt.Println("Version:", Version)
}
http://www.dtcms.com/a/450154.html

相关文章:

  • Go语言入门(21)-错误处理
  • 实验二:链表
  • 在线免费开网站企业网站管理系统设计报告
  • 什么网站做ppt模板wordpress网页标签图标
  • 专栏丨华为HN8145XR光猫获取超级管理员密码
  • 小型企业网站开发公司wordpress 中文开发
  • Redis rdb持久化
  • AgentWorkflow 实战:从单 Agent 到多 Agent 协作的完整方案
  • 数据懒加载和虚拟列表
  • 江苏省建设注册中心网站首页在线制作简历网站
  • Java “线程池(2)”面试清单(含超通俗生活案例与深度理解)
  • Linux内核kallsyms符号压缩与解压机制
  • 米思米网站订单取消怎么做基金会网站模板
  • 公司网站源码做智能家居网站需要的参考文献
  • 11. Pandas 数据分类与区间分组(cut 与 qcut)
  • 找家里做的工作到什么网站淄博五厘网络技术有限公司
  • 国外哪些网站做产品推广比较好四川建设人员信息查询
  • 第二章:软件需求
  • AI Agent赋能产品经理:从需求分析到用户增长的全流程实践
  • 网站服务公司案例广州网站建设优化公司
  • AI学习日记——神经网络参数的更新
  • Java进阶教程,全面剖析Java多线程编程,多线程和堆内存栈内存的关系,笔记20
  • 建设春风摩托车官方网站百度站长论坛
  • 长春企业网站建设公司建设银行广州招聘网站
  • 网站 开发 周期定制app开发软件
  • 怎么做网站 ppt货代网站制作
  • 2025-10-06 Python不基础12——class原理
  • 龙泉驿建设局网站谷歌seo是什么职业
  • 从东方仙盟筑基期看 JavaScript 动态生成图片技术-东方仙盟
  • 怎么做电脑网站后台谷歌seo推广服务