学习 Go 语法之前,你需要了解的 “命令源码文件”

在正式学习 Go 的语法之前,我们需要了解一下怎么运行 Go 代码。

或许你在一些教程中看过怎么去编写一个可运行的 Go 代码文件,但是我觉得绝大多数人在一开始就没弄明白为什么要按照教程中规定的那种格式去编写程序。至少我在初学 Go 时就疑惑为什么代码开头要加这样一行 package main,我也尝试过改成 package test,但是报错了,后来花了不少时间才找到原因。所以我觉得有必要在学习语法之前,了解一下这部分知识。

命令源码文件

在我们学习语法时,一般是需要时时运行代码的,以便验证结果。但在 Go 项目中,并不是所有的代码文件都可以直接运行的,只有程序入口文件才可以直接运行,所以在初学习阶段,我们就应该在入口文件中去练习代码,因为只有它可以直接运行起来。

那Go语言中怎么定义一个入口文件呢?

其实 Go 中,程序的入口文件就叫做 命令源码文件,它是程序的运行入口,是每个可独立运行的程序必须拥有的,它可以通过构建或安装,生成与其对应的可执行文件。

如果一个源码文件声明属于main包,并且包含一个无参数声明且无结果声明的main函数,那么它就是命令源码文件。 就像这样:

package main

import "fmt"

func main() {
	fmt.Println("hello world")
}

这段代码就是命令源码文件,它必须申明为 “main”包,即package main。并且代码中需要有一个无参数的 “main” 函数。

运行命令源码文件

使用 go run 命令可以直接运行命令源码文件,比如编写一个 hello.go 文件:

package main

import "fmt"

func main() {
	fmt.Println("hello world")
}

使用 go run hello.go 来运行这段代码:

或者通过 go build 命令将它编译为各自系统上的可执行文件,在 mac 上可以直接以 ./ 形式运行编译好的文件,如下:

结尾

关于命令源码文件,初学阶段了解到这里就够了。你只需要知道,如果想要直接运行一段 Go 代码,那么就把代码编写成命令源码文件就好,即在代码开头加 package main,且 package 后面必须是 main。 需要注意一点的是,文件名不必一定要是 “main”。

关于命令源码文件还有一些知识点没讲到,等到后面需要了解时再新开一篇博客讲述。

原文地址:https://www.cnblogs.com/wjaaron/p/14805053.html