From ff6a845acff95bb1cf99066f0fa1e2e30c2d9284 Mon Sep 17 00:00:00 2001 From: iGmainC <48195631+iGmainC@users.noreply.github.com> Date: Tue, 9 Aug 2022 19:25:20 +0800 Subject: [PATCH] =?UTF-8?q?style(ch1-01):=20=E4=BF=AE=E6=94=B9=E6=8E=92?= =?UTF-8?q?=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch1/ch1-01.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ch1/ch1-01.md b/ch1/ch1-01.md index 5a16fac..1081881 100644 --- a/ch1/ch1-01.md +++ b/ch1/ch1-01.md @@ -3,6 +3,7 @@ 我们以现已成为传统的“hello world”案例来开始吧,这个例子首次出现于 1978 年出版的 C 语言圣经 [《The C Programming Language》](http://s3-us-west-2.amazonaws.com/belllabs-microsite-dritchie/cbook/index.html)(译注:本书作者之一 Brian W. Kernighan 也是《The C Programming Language》一书的作者)。C 语言是直接影响 Go 语言设计的语言之一。这个例子体现了 Go 语言一些核心理念。 gopl.io/ch1/helloworld + ```go package main @@ -15,13 +16,13 @@ func main() { Go 是一门编译型语言,Go 语言的工具链将源代码及其依赖转换成计算机的机器指令(译注:静态编译)。Go 语言提供的工具都通过一个单独的命令 `go` 调用,`go` 命令有一系列子命令。最简单的一个子命令就是 `run`。这个命令编译一个或多个以。`.go` 结尾的源文件,链接库文件,并运行最终生成的可执行文件。(本书使用$表示命令行提示符。) -``` +```bash $ go run helloworld.go ``` 毫无意外,这个命令会输出: -``` +```text Hello, 世界 ``` @@ -42,11 +43,11 @@ Hello, 世界 本书中所有示例代码上都有一行标记,利用这些标记可以从 [gopl.io](http://gopl.io) 网站上本书源码仓库里获取代码: -``` +```text 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](../ch2/ch2-06.md) 和 [10.7 节](../ch10/ch10-07.md)有这方面更详细的介绍。 来讨论下程序本身。Go 语言的代码通过**包**(package)组织,包类似于其它语言里的库(libraries)或者模块(modules)。一个包由位于单个目录下的一个或多个 `.go` 源代码文件组成,目录定义包的作用。每个源文件都以一条 `package` 声明语句开始,这个例子里就是 `package main`,表示该文件属于哪个包,紧跟着一系列导入(import)的包,之后是存储在这个文件里的程序语句。 @@ -68,8 +69,8 @@ Go 语言在代码格式上采取了很强硬的态度。`gofmt`工具把代码 很多文本编辑器都可以配置为保存文件时自动执行 `gofmt`,这样你的源代码总会被恰当地格式化。还有个相关的工具:`goimports`,可以根据代码需要,自动地添加或删除 `import` 声明。这个工具并没有包含在标准的分发包中,可以用下面的命令安装: -``` +```shell $ go get golang.org/x/tools/cmd/goimports ``` -对于大多数用户来说,下载、编译包、运行测试用例、察看 Go 语言的文档等等常用功能都可以用 go 的工具完成。10.7 节详细介绍这些知识。 +对于大多数用户来说,下载、编译包、运行测试用例、察看 Go 语言的文档等等常用功能都可以用 go 的工具完成。[10.7 节](../ch10/ch10-07.md)详细介绍这些知识。