Golang 执行流程分析

文章目录

  • [1. 编译和运行](#1. 编译和运行)
  • [2. 编译和运行说明](#2. 编译和运行说明)

1. 编译和运行

  • 如果是对源码编译后,再执行,Go的执行流程如下图
  • 如果我们是对源码直接 执行 go run 源码,Go的执行流程如下图

两种执行流程的方式区别

  1. 如果先编译生成了可执行文件,那么可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行
  2. 如果是直接 go run go源代码,那么如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行
  3. 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多

2. 编译和运行说明

  1. 有了go源文件,通过编译器将其编译成机器可以识别的二进制码文件。

  2. 在该源文件目录下,通过go buildhello.go 文件进行编译。可以指定生成的可执行文件名,在windows 下必须是 .exe 后缀。

  3. 如果程序没有错误,没有任何提示,会在当前目录下会出现一个可执行文件(windows下是 .exe ,Linux 下是一个可执行文件),该文件是二进制码文件,也是可以执行的程序。

  4. 如果程序有错误,编译时,会在错误的那行报错。有助于程序员调试错误

  5. 运行有两种形式

    • 直接运行生成的可执行Go程序,比如:hello.exe
    • 通过运行工具go run对源代码文件进行运行
相关推荐
3***g2052 分钟前
MATLAB高效算法设计原则利用MATLAB内置函数
开发语言·算法·matlab
未来龙皇小蓝6 分钟前
Spring注入Bean流程及其理解
java·spring boot·后端·spring·代理模式
知秋正在99610 分钟前
Java实现Html保存为.mhtml文件
java·开发语言·html
用户21903265273510 分钟前
SpringCloud分布式追踪深度实战:Sleuth+Zipkin从入门到生产部署全攻略
分布式·后端·spring cloud
陈随易11 分钟前
Bun v1.3.6发布,内置tar解压缩,各方面提速又提速
前端·后端
武子康12 分钟前
大数据-212 K-Means 聚类实战指南:从无监督概念到 Inertia、K 值选择与避坑
大数据·后端·机器学习
lewis_lk12 分钟前
docker-compose部署nacos
后端
lewis_lk14 分钟前
docker-compose部署mysql&redis
后端·docker
天天摸鱼的java工程师18 分钟前
工作中七天免登录如何实现
java·后端