Go执行流程分析与编译和运行说明

Go执行流程分析与编译运行说明

Go执行流程分析

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

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

编译和运行说明

编译

  • 有了 go 源文件,通过编译器将其编译成机器可以识别的二进制码文件。
  • 在该源文件目录下,通过 go build hello.go 文件进行编译。
    • 可以指定生成的可执行文件名,在windows 下 必须是 .exe 后缀。

  • 如果程序没有错误,没有任何提示,会在当前目录下会出现一个可执行文件(windows 下是.exe,Linux 下是一个可执行文件),该文件是二进制码文件,也是可以执行的程序。
  • 如果程序有错误,编译时,会在错误的那行报错。有助于程序员调试错误.

  • 编译时报错,第6行出错

运行

  • 直接运行生成的可执行Go程序,比如hello.exe
  • 通过运行工具go run对源代码文件进行运行。

Go 程序开发的注意事项

  • Go 源文件以 "go" 为扩展名。
  • Go 应用程序的执行入口是 main()函数。
    • 这个是和其它编程语言(比如 java/c)
  • Go 语言严格区分大小写。
  • Go 方法由一条条语句构成,每个语句后不需要分号(Go 语言会在每行后自动加分号),这也体现出 Golang 的简洁性。
  • Go 编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错

  • go 语言定义的变量或者 import 的包如果没有使用到,代码不能编译通过。

  • 大括号都是成对出现的,缺一不可

猜你喜欢

转载自blog.csdn.net/baidu_41388533/article/details/106875750