add missing sentences and fix a paraphrase in ch1-01.md

This commit is contained in:
prife 2016-01-20 01:07:16 +08:00
parent 9815f3a744
commit 84dd5ff338

View File

@ -1,6 +1,6 @@
## 1.1. Hello, World
我們以現已成爲傳統的“hello world”案例來開始吧, 這個例子首次出現於1978年出版的《C語言聖經》。譯註[《The C Programming Language》](http://s3-us-west-2.amazonaws.com/belllabs-microsite-dritchie/cbook/index.html), 本書作者之一Brian W. Kernighan也是C語言聖經一書的作者。C語言是直接影響Go語言設計的語言之一。
我們以現已成爲傳統的“hello world”案例來開始吧, 這個例子首次出現於1978年出版的《C語言聖經》。譯註[《The C Programming Language》](http://s3-us-west-2.amazonaws.com/belllabs-microsite-dritchie/cbook/index.html), 本書作者之一Brian W. Kernighan也是C語言聖經一書的作者。C語言是直接影響Go語言設計的語言之一。這個例子體現了Go語言一些核心理念。
```go
gopl.io/ch1/helloworld
@ -41,7 +41,7 @@ Hello, 世界
```
譯註在Windows繫統下在命令行直接輸入helloworld.exe命令運行
本書中, 所有的示例代碼上都有一行標記,利用這些標記, 可以從 `gopl.io` 網站上本書源碼倉庫里獲取代碼:
本書中, 所有的示例代碼上都有一行標記,利用這些標記, 可以從[gopl.io](http://gopl.io)網站上本書源碼倉庫里獲取代碼:
```
gopl.io/ch1/helloworld
@ -65,7 +65,7 @@ Go的標準庫提供了100多個包以支持常見功能如輸入、輸出
Go語言不需要在語句或者聲明的末尾添加分號除非一行上有多條語句。實際上編譯器會主動把特定符號後的換行符轉換爲分號, 因此換行符添加的位置會影響Go代碼的正確解析。譯註比如行末是一個標識符、一個整數、浮點數、虛數、字符或字符串文字、關鍵字break、continue、fallthrough或return中的一個、運算符和分隔符++、--、)、]或}中的一個)。舉個例子, 函數的左括號`{`必須和`fucn`的函數聲明, 且位於該行末尾,不能獨占一行,而在表達式`x + y`中,可在`+`後換行,不能在`+`前換行(譯註:以+結尾的話不會被插入分號分隔符但是以x結尾的話則會被分號分隔符從而導致編譯錯誤
Go語言在代碼格式上采取了很強硬的態度。`gofmt`工具把代碼格式化爲標準格式譯註這個格式化工具沒有任何可以調整代碼格式的參數Go語言就是這麽任性併且`go`工具中的`fmt`子命令會對指定包, 否則默認爲當前目録, 中所有.go源文件應用`gofmt`命令。本書中的所有代碼都被gofmt過。你也應該養成格式化自己的代碼的習慣。以法令方式規定標準的代碼格式可以避免無盡的無意義的瑣碎爭執譯註也導致了Go語言的TIOBE排名較低因爲缺少撕逼的話題。更重要的是可以避免由於代碼格式導致的邏輯上的歧義
Go語言在代碼格式上采取了很強硬的態度。`gofmt`工具把代碼格式化爲標準格式譯註這個格式化工具沒有任何可以調整代碼格式的參數Go語言就是這麽任性併且`go`工具中的`fmt`子命令會對指定包, 否則默認爲當前目録, 中所有.go源文件應用`gofmt`命令。本書中的所有代碼都被gofmt過。你也應該養成格式化自己的代碼的習慣。以法令方式規定標準的代碼格式可以避免無盡的無意義的瑣碎爭執譯註也導致了Go語言的TIOBE排名較低因爲缺少撕逼的話題。更重要的是樣可以做多種自動源碼轉換如果放任Go語言代碼格式這些轉換就不大可能了
很多文本編輯器都可以配置爲保存文件時自動執行`gofmt`,這樣你的源代碼總會被恰當地格式化。還有個相關的工具,`goimports`,可以根據代碼需要, 自動地添加或刪除`import`聲明。這個工具併沒有包含在標準的分發包中,可以用下面的命令安裝:
```