Golang Go语言中 用 goframe 写的工程可以打包成一个二进制文件?

发布于 1周前 作者 songsunli 来自 Go语言

或者类似 web 框架,打包成一个二进制文件,直接执行就可以提供 web 服务?
Golang Go语言中 用 goframe 写的工程可以打包成一个二进制文件?

16 回复

可以的

更多关于Golang Go语言中 用 goframe 写的工程可以打包成一个二进制文件?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


这还用问吗?当然可以

是方便啊,类似 spring boot 的 java -jar app.jar
看来真有必要玩一玩了

非常可以,而且可以编译成任意平台的可执行程序

可以啊,这是 Go 语言的特色

个人感觉跟java -jar还是有区别的, 它这个不需要安装什么 go 运行环境。


哈哈,这点很不错


#7 我也在尝试写 go 玩玩,哈哈

// go:embed *.html *.css *.js
var FS embed.FS

http.handle( http.Filesystem(xxx.FS))

可以的. 静态资源用 embed


能方便的跨平台吗?


必须的么


Examples
Publish an app self-contained. A macOS 64-bit executable is created.
dotnet publish -r osx-x64
Publish an app self-contained. A Windows 64-bit executable is created.
dotnet publish -r win-x64


https://docs.microsoft.com/en-us/dotnet/core/deploying/#examples-1

这不是基本需求吗

是的,在Golang(通常简称为Go)中,使用goframe框架编写的工程确实可以打包成一个独立的二进制文件。Go语言的一个显著特性就是其编译后的静态链接和自包含特性,这意味着你可以将你的整个应用程序(包括其依赖项)编译成一个单独的、可执行的二进制文件。

要打包一个使用goframe框架的Go工程,你通常需要使用Go的官方编译器go build。这个过程会读取你的go.mod(或GOPATH下的依赖信息,如果你还在使用较旧的依赖管理方式)来确定所有需要的依赖项,并将它们一起编译进最终的二进制文件中。

打包步骤大致如下:

  1. 确保你的工程已经正确设置了go.mod文件,以便Go工具链能够找到所有的依赖项。
  2. 在你的工程根目录下打开终端或命令行界面。
  3. 运行go build -o outputname命令,其中outputname是你希望生成的二进制文件的名称。如果不指定-o参数,Go会默认生成一个名为你的主包名(通常是目录名)的二进制文件。

这个命令会编译你的工程并生成一个可执行的二进制文件。你可以将这个文件分发到任何支持Go二进制文件的操作系统上(只要该系统的架构与编译时指定的架构相匹配),而无需担心依赖项的问题。

回到顶部