在以前,咱们介绍了如何在windows、macos以及linux平台构建go语言的开发环境linux
[golang快速入门[2.1]-go语言开发环境配置-windows]()golang
[golang快速入门[2.2]-go语言开发环境配置-macOS]()macos
[golang快速入门[2.3]-go语言开发环境配置-linux]()vim
本文将介绍如何书写、编译、并运行第一个go语言程序windows
同时详细介绍其内部机制app
首先咱们能够在任意位置新建一个文件,命名为main.go
编辑器
go源文件以.go做为后缀,命名时建议统一为小写英文字母ide
用任意的文本编辑器(vim,notepade,emacs…)编辑文件,书写以下代码函数
package main import "fmt" func main() { fmt.Println("Hello, world") }
第一行 package main
: package是一个关键字(也叫作"包"),声明为main的一个packageui
每个go语言的源文件都须要以package开头
package == 工程 == 工做空间
能够将package理解为一个工程,或者是一个工做空间
多个文件能够声明同一个package,可是必须在同一个文件夹中
声明同一个package,表明在package中的代码实现类似或者特定的功能
package有两种类型,一种是声明为main的package,此package能够产生能够执行的文件。
其余名字的package不能产生能够执行的文件,其做为一种依赖包,有特定的功能,能够重复使用(例如数学计算)
第二行import "fmt"
表明程序导入了外部叫作fmt的package
这里的fmt是go语言标准库中的代码,go语言内置了种类繁多的标准库。参见:golang标准库文档
fmt是重要的标准库,内置了许多输入输出功能,更能够用来进行代码调试
go语言标准库中的代码存储于GOROOT环境变量中,
第三行func main 定义了一个名字为main的函数,函数是对于执行代码的封装
所以,下面对整段代码作一个总结
go是一门编译型语言
在命令行下,cd
进入代码所在的路径
在命令行下编译代码有两种方式,运行go run main.go
或者go build main.go
,两者的区别以下图所示
go run main.go
不只会编译而且会自动运行程序
go build main.go
仅仅会编译代码生成main.exe(windows下是以.exe为后缀的可执行文件,而在mac或者linux下午后缀名)
执行main.exe
在命令行输出:Hello, world