1-4 Go --- Hello World
一、永恒的经典 Hello World。

二、注释,程序运行时会忽略注释的内容。
1、注释的方式:
单行注释:// 内容。。。。。。。(// 后面的内容为注释内容,系统不会运行此行注释内容。)
多上注释:(/* */ 中间括起来的内容,无论多少行,系统都会忽略其内容。)
/*
内容。。。。。
。。内容。。。
。。。。内容。
*/

2、注释的两个作用:1)、为自己而写,方便自己以后查阅、检查代码 和 梳理思路。2)、方便其他人看,有时候其他人会帮忙检查代码 或 接手代码时,可以方便审阅 和 梳理思路。
三、两个指令 go run 和 go build (tirp:终端输入文件名的时候可以用 tab 键进行补全。如果扩展名不一样,可以通过 tab 键进行选择。补全的文件名前面有 .\ 开头,代表当前目录。)
1、go build:
1)、红色下划线:go build helloworld.go 文件,终端并没有打印结果。而是生成一个 helloworld.exe 的文件,可以在资源管理器查看到。
2)、黄色下划线:输入 helloworld.exe 执行文件才可以打印结果。

3)、GOPATH helloworld 目录下也可以查看到 go build 生成的 exe 执行文件。

4)、go build 的作用是把 go 文件编译成 exe 可执行文件。以后,只需要执行 exe 文件就可以运行程序。
2、go run:
go run 就是编译但不生成 exe 文件,打印输出结果。开发中用 go run 比较多,因为比较快。不会产生中间的环节。
红色下划线:go run .\helloworld.go 终端打印输出结果。

四、1、helloworld 详解:

2、fmt.Println 打印多段内容效果。

3、package main:mian包
1)、Go 代码是使用包来组织的,每个文件都属于一个包。
2)、使用关键字 package 声明,指明这个文件属于哪个包。
3)、使用关键字 Import 导入其他包,可以导入多个包,比如 fmt。
4)、名为 main 的包比较特殊,它用来定义一个独立的可执行程序。
4、func main() :main 函数
1)、在 main 包中,函数main也是特殊的,它总是程序开始执行的地方。比如没有 main 函数会报错。
把 main() 函数改为 main2()。运行程序报错 “function main is undeclared in the main package”,“main函数在main包中没有声明”。也就是说 main包中只有 main函数是可以执行的。

2)、关键字 func 声明一个函数,函数包括:关键字、函数名、参数、返回值、放在大括号中的函数体。
5、fmt.Println:打印语句
1)、fmt 包中的函数用来格式化输出和扫描输入。
2)、Println 是 fmt 中一个基本的输出函数,它输出一个或多个用空格分隔的值(多个值之间用“,”号分隔。字符串输出用“”双引号括起内容)。结尾输出换行符形成单行输出。
6、注意事项:
1)、需要用到的包才导入,不用的包不用导入,否认会引起编译失败。
2)、import 声明必须跟在 package 声明之后。
3)、Go 不需要在语句或声明后面使用分号结尾。如果加了;号,Ctrl + s 保存的时候都会删除分号,重新排版规范格式。
修改一下程序,加上了一些分号,分号后也跟着语句。

Ctrl + s 保存的时候都会删除分号,重新排版规范格式。
