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对源代码文件进行运行
相关推荐
郝学胜-神的一滴11 分钟前
Effective STL 第1条:慎重选择容器类型
开发语言·c++·程序人生·软件工程
阿明624 分钟前
list模拟实现(简单版)【C++】
开发语言·c++·学习·list
Yupureki38 分钟前
从零开始的C++学习生活 1:命名空间,缺省函数,函数重载,引用,内联函数
c语言·开发语言·c++·学习·visual studio
用户791177242358340 分钟前
黑马点评秒杀优化和场景补充
后端
猎豹奕叔43 分钟前
设计模式的重要设计原则,建议收藏
后端
鄃鳕1 小时前
高并发日志项目中,C++IO的使用
开发语言·c++
低音钢琴1 小时前
【碎片化学习】SpringBoot中的自动配置(Auto Configuration)
spring boot·后端
点云侠1 小时前
PCL 生成缺角立方体点云
开发语言·c++·人工智能·算法·计算机视觉
MediaTea2 小时前
Python 库手册:keyword 关键字查询
开发语言·python
canonical-entropy2 小时前
集成NopReport动态生成Word表格
后端·低代码·函数式编程·可逆计算·nop平台