这一节主要讲一讲如何开发/运行Go 程序, Go 程序执行流程分析, 以及Go 程序开发注意事项;
1. 案例
开发一个hello.go 程序, 可以输出"hello,world"
1.1 目录结构如下:
1.2 代码如下:
package main import "fmt" func main(){ fmt.Println("hello,world") }
1.2.3说明:
(1) go 文件的后缀是.go
(2) package main
表示hello.go 文件所在的包是main, 在go 中,每个文件都必须归属于一个包
(3) import "fmt"
表示: 引入一个包, 包名fmt, 引入该包后,可以使用fmt 包的函数,比如: fmt.Println,fmt.Printf;
(4) func main(){}
func 是一个关键字,表示一个函数, main 是函数名,是一个主函数,即程序的入口;
(5) fmt.Println("hello,world")
表示调用fmt 包的函数Println输出"hello,world"
1.3 通过 go build 命令对该go 文件进行编译, 生成.exe 文件(Linux 平台生成可执行程序)
1.4 运行hello.exe 文件即可;
1.5 同时也可以直接go run 使用直接运行hello.go 程序,类似执行脚本文件的方式
2. Golang 执行流程分析
2.1 如果是对源码编译后再执行, 流程如下:
2.2 如果是直接 go run 运行, 流程如下:
2.3 两种流程方式的区别
(1) 如果先编译生成了可执行文件,可以将该可执行文件拷贝到没有go 开发环境的机器上运行;
(2) 如果是直接go run , 在其它环境上也需要go 开发环境,否则无法正常运行;
(3) 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中, 所以就导致编译后可执行文件变大了很多;
3. 编译和运行
3.1 有了go 源文件, 通过编译器将其编译成机器可识别的二进制码文件;
3.2 在源文件下可通过 go build 对hello.go 文件进行编译, 可以指定生成的可执行文件名,Windows 下必须是.exe 后缀;
`go build -o main.exe hello.go`
3.3 如果程序没有错误,也无提示,会在当前目录下生成一个可执行文件,Windows 下是.exe Linux 下为一个可执行文件, 该文件是二进制码文件,同时也是一个可执行程序;
3.4 如果程序有错误,在编译时会提示在哪一行报错,需要大家去熟悉分析错误;
4. Go 程序开发的注意事项
4.1 Go 源文件以".go" 为扩展名;
4.2 Go 应用程序的执行入口是main() 函数,和Java/c 一样;
4.3 Go 语言严格区分大小写;
4.4 Go 方法由一条条语句构成,***每个语句后不需要分号***(Go 语言会在每行后自动加分号);
4.5 Go 编译器是一行一行进行编译的,因此一行只写一条语句,不能把多条语句写在同一行,否则会报错;
4.6 Go 语言定义的变量或import 包如未使用,则编译不能通过;
4.7 Go 语言大括号成对出现,缺一不可;
5. 最近也在写微信公众号, 如有需要可搜索"开胃咸菜"关注, 最新文章会在微信公众号发布,谢谢!