GO开发之项目打包部署过程

 更新时间:2025年08月27日 09:44:34   作者:码砖咋说  
在main.go目录执行go build,用-o指定输出文件名(如gotest.exe),交叉编译需设置GOOS和GOARCH环境变量,支持多平台,注意-o参数不能用于交叉编译,上传后修改权限即可运行

前提

首先,进入到main.go文件目录下,执行以下命令

Go Build 命令

$ go build [-o output] [-i] [build flags] [packages]
  • -o 参数可以指定输出目录与打包后的文件名
localhost:Service liukerui$ go build -o gotest main.go

会将main.go涉及到的文件都编译打包好,放在当前目录下,文件名为gotest.exe(windows平台下默认编译为exe文件,可修改)

交叉编译

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序

$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go
$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go
  • GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows
  • GOARCH:目标可执行程序操作系统构架,包括 386,amd64,arm

备注:加 -o 参数不能进行交叉编译(原因知不道)

查看默认配置

$ go env

将二进制文件上传到服务器

修改main二进制文件权限chmod -R 777 main ,直接运行之

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • golang中的并发和并行

    golang中的并发和并行

    这篇文章主要介绍了golang中的并发和并行用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • 一文带你熟悉Go语言中的for循环

    一文带你熟悉Go语言中的for循环

    这篇文章主要和大家分享一下Go语言中for循环的定义与使用,文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,需要的可以参考一下
    2022-11-11
  • OpenTelemetry-go的SDK使用方法详解

    OpenTelemetry-go的SDK使用方法详解

    这篇文章主要介绍了OpenTelemetry-go的SDK使用方法,OpenTelemetry帮我们实现了相应语言的SDK,所以我们只需要进行调用即可,本文根据官方文档实例讲解,需要的朋友可以参考下
    2022-09-09
  • Go 修改map slice array元素值操作

    Go 修改map slice array元素值操作

    这篇文章主要介绍了Go 修改map slice array元素值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 使用go mod导入本地自定义包问题

    使用go mod导入本地自定义包问题

    这篇文章主要介绍了使用go mod导入本地自定义包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 在Visual Studio Code中配置GO开发环境的详细教程

    在Visual Studio Code中配置GO开发环境的详细教程

    这篇文章主要介绍了在Visual Studio Code中配置GO开发环境的详细教程,需要的朋友可以参考下
    2017-02-02
  • Go 并发编程协程及调度机制详情

    Go 并发编程协程及调度机制详情

    这篇文章主要介绍了Go并发编程协程及调度机制详情,协程是Go语言最大的特色之一,goroutine的实现其实是通过协程,更多相关内容需要的朋友可以参考一下
    2022-09-09
  • vscode中安装Go插件和配置Go环境详细步骤

    vscode中安装Go插件和配置Go环境详细步骤

    要在VSCode中配置Go语言插件,首先需要确保你的电脑已经安装了Go环境和最新版本的VSCode,这篇文章主要给大家介绍了关于vscode中安装Go插件和配置Go环境的相关资料,需要的朋友可以参考下
    2024-01-01
  • 详解如何在golang项目开发中创建自己的Module

    详解如何在golang项目开发中创建自己的Module

    既然我们使用了很多开源的 module为我们的日常开发提供了很多的便捷性,那我们该如何实现自己的 module 来提供给团队中使用,接下小编就给大家介绍一下在golang项目开发如何创建自己的Module,需要的朋友可以参考下
    2023-09-09
  • Go语言中未知异常捕获的多种场景与实用技巧

    Go语言中未知异常捕获的多种场景与实用技巧

    在Go语言编程中,异常处理是确保程序健壮性的关键环节,与一些其他编程语言不同,Go没有传统的try - catch结构化异常处理机制,本文将深入探讨Go语言中未知异常捕获的多种场景与实用技巧,需要的朋友可以参考下
    2024-11-11

最新评论