style(ch1-01.md): 优化排版

This commit is contained in:
iGmainC 2022-08-09 00:04:39 +08:00 committed by GitHub
parent 2f61241be4
commit 58165d4f80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -33,7 +33,7 @@ Go 语言原生支持 Unicode它可以处理全世界任何语言的文本。
$ go build helloworld.go $ go build helloworld.go
``` ```
这个命令生成一个名为 helloworld 的可执行的二进制文件译注Windows 系统下生成的可执行文件是 `helloworld.exe`,增加了。`.exe` 后缀名),之后你可以随时运行它(译注:在 Windows 系统下在命令行直接输入 `helloworld.exe` 命令运行),不需任何处理(译注:因为静态编译,所以不用担心在系统库更新的时候冲突,幸福感满满)。 这个命令生成一个名为 `helloworld` 的可执行的二进制文件译注Windows 系统下生成的可执行文件是 `helloworld.exe`,增加了 `.exe` 后缀名),之后你可以随时运行它(译注:在 Windows 系统下在命令行直接输入 `helloworld.exe` 命令运行),不需任何处理(译注:因为静态编译,所以不用担心在系统库更新的时候冲突,幸福感满满)。
``` ```
$ ./helloworld $ ./helloworld
@ -48,13 +48,13 @@ gopl.io/ch1/helloworld
执行 `go get gopl.io/ch1/helloworld` 命令,就会从网上获取代码,并放到对应目录中(需要先安装 Git 或 Hg 之类的版本管理工具,并将对应的命令添加到 `PATH` 环境变量中。序言已经提及,需要先设置好 `GOPATH` 环境变量,下载的代码会放在 `$GOPATH/src/gopl.io/ch1/helloworld` 目录。2.6 和 10.7 节有这方面更详细的介绍。 执行 `go get gopl.io/ch1/helloworld` 命令,就会从网上获取代码,并放到对应目录中(需要先安装 Git 或 Hg 之类的版本管理工具,并将对应的命令添加到 `PATH` 环境变量中。序言已经提及,需要先设置好 `GOPATH` 环境变量,下载的代码会放在 `$GOPATH/src/gopl.io/ch1/helloworld` 目录。2.6 和 10.7 节有这方面更详细的介绍。
来讨论下程序本身。Go 语言的代码通过**包**package组织包类似于其它语言里的库libraries或者模块modules。一个包由位于单个目录下的一个或多个。go 源代码文件组成,目录定义包的作用。每个源文件都以一条 `package` 声明语句开始,这个例子里就是`package main`表示该文件属于哪个包紧跟着一系列导入import的包之后是存储在这个文件里的程序语句。 来讨论下程序本身。Go 语言的代码通过**包**package组织包类似于其它语言里的库libraries或者模块modules。一个包由位于单个目录下的一个或多个 `.go` 源代码文件组成,目录定义包的作用。每个源文件都以一条 `package` 声明语句开始,这个例子里就是 `package main`表示该文件属于哪个包紧跟着一系列导入import的包之后是存储在这个文件里的程序语句。
Go 的标准库提供了 100 多个包,以支持常见功能,如输入、输出、排序以及文本处理。比如 `fmt` 包,就含有格式化输出、接收输入的函数。`Println` 是其中一个基础函数,可以打印以空格间隔的一个或多个值,并在最后添加一个换行符,从而输出一整行。 Go 的标准库提供了 100 多个包,以支持常见功能,如输入、输出、排序以及文本处理。比如 `fmt` 包,就含有格式化输出、接收输入的函数。`Println` 是其中一个基础函数,可以打印以空格间隔的一个或多个值,并在最后添加一个换行符,从而输出一整行。
`main` 包比较特殊。它定义了一个独立可执行的程序,而不是一个库。在 `main` 里的 `main` *函数*也很特殊它是整个程序执行时的入口译注C 系语言差不多都这样)。`main` 函数所做的事情就是程序做的。当然了,`main` 函数一般调用其它包里的函数完成很多工作(如:`fmt.Println`)。 `main` 包比较特殊。它定义了一个独立可执行的程序,而不是一个库。在 `main` 里的 `main` *函数*也很特殊它是整个程序执行时的入口译注C 系语言差不多都这样)。`main` 函数所做的事情就是程序做的。当然了,`main` 函数一般调用其它包里的函数完成很多工作(如:`fmt.Println`)。
必须告诉编译器源文件需要哪些包,这就是跟随在 `package` 声明后面的 `import` 声明扮演的角色。hello world 例子只用到了一个包,大多数程序需要导入多个包。 必须告诉编译器源文件需要哪些包,这就是跟随在 `package` 声明后面的 `import` 声明扮演的角色。`hello world` 例子只用到了一个包,大多数程序需要导入多个包。
必须恰当导入需要的包缺少了必要的包或者导入了不需要的包程序都无法编译通过。这项严格要求避免了程序开发过程中引入未使用的包译注Go 语言编译过程没有警告信息,争议特性之一)。 必须恰当导入需要的包缺少了必要的包或者导入了不需要的包程序都无法编译通过。这项严格要求避免了程序开发过程中引入未使用的包译注Go 语言编译过程没有警告信息,争议特性之一)。