Go 基本架构
一、Go 基本架构:
package main
import "fmt"
func main() {
fmt.Println("hello, world")
}
-
go 文件的后缀是 .go ;
-
package main:
表示文件所在的包是main;
每个Go应用程序都包含一个为main的包;
所有包名都应该使用小写字母;
-
import “fmt”:
表示引入一个包,包名为
fmt
,引入该包后,就可以使用fmt包的函数;比如:fmt.Println
import 的一些常见写法:
import “fmt”
import “os”或者可以写为:
import “fmt”; import “os”
更优雅的写法:
import (
“fmt”
“os”
)更短的写法,但使用gofmt后将会强制换行;
import (“fmt”; “os”)
当导入多个包时,导入的顺序会按照字母排序
-
func main( ) { }:
func 是一个
关键字
,表示一个函数;main 是
函数名
,是一个主函数
,也是程序的入口; -
fmt.Println(“hellow, world!”);
表示调用 fmt 包中
Println 函数
,输出:“hello,world!” -
通过 go build 命令对该 go 文件进行
编译
,生成**.exe文件** (当前系统是win10);执行命令:
go build xxx.go(文件名)
-
执行文件**.exe**的文件:
.exe 文件通过 build 命令生成的文件
-
可直接通过命令运行程序:go run xxx.go
注意:正常流程,先
build 编译
,在执行编译后的文件(.exe文件)
;
二、go build 与 go run 的区别:
- 使用 build 编译生成的可执行文件(.exe结尾),那么可直接将可执行文件拷贝到
没有go开发环境机器上
,仍然可以执行; - 使用命令 go run,若想在其他机器上运行,需要
安装go的环境
,否则无法执行; - 在编译时,编译器会将程序运行依赖的库文件,包含在可执行文件中,所以可以看出,
可执行文件要大很多
;
举个栗子:
将可执行文件与普通文件大小的对比:
文件名是:hello.exe
2019/10/22 21:29 2,105,856 hello.exe // 可执行文件大小:2,105,856
2019/10/22 21:27 73 hello.go // 文件大小:73
2 个文件 2,105,929 字节
2 个目录 142,753,792 可用字节
三、Go 程序开发注意事项:
- Go 源文件以 .go 为扩展名;
- Go 应用程序的执行入口是 main()函数;
- Go 语言严格 区分大小写;
- Go 方法由一条条语句构成,每个语句后不需要分号( go 语言会在每行自动加分号);
- Go 编译器是一行行进行编译,我们一行就写一条语句,不能把多条语句写在同一行,否则报错;
- Go 语言定义变量或者import 包 ,如果没有使用到,代码不能编译通过;
- 大括号都是成对出现,缺一不可;