ch3 review

This commit is contained in:
chai2010
2015-12-28 08:20:58 +08:00
parent 6fe85de585
commit 33480e55d6
5 changed files with 51 additions and 56 deletions

View File

@@ -1,7 +1,6 @@
### 3.5.1. 字符串面值
字符串值也可以用字符串面值方式編寫, 隻要將一繫列字節序列包含在雙引號卽可:
字符串值也可以用字符串面值方式編寫,隻要將一繫列字節序列包含在雙引號卽可:
```
"Hello, 世界"
@@ -9,9 +8,9 @@
![](../images/ch3-04.png)
因爲Go語言源文件總是用UTF8編碼, 併且Go的文本字符串也以UTF8編碼的方式處理, 我們可以將Unicode碼點也寫到字符串面值中.
因爲Go語言源文件總是用UTF8編碼併且Go語言的文本字符串也以UTF8編碼的方式處理,因此我們可以將Unicode碼點也寫到字符串面值中
在一個雙引號包含的字符串面值中, 可以用以反斜槓\開頭的轉義序列插入任意的數據. 下面換行, 迴車和 製表符等常見的ASCII控製代碼的轉義方式:
在一個雙引號包含的字符串面值中可以用以反斜槓`\`開頭的轉義序列插入任意的數據下面換行迴車和製表符等常見的ASCII控製代碼的轉義方式
```
\a 響鈴
@@ -26,11 +25,11 @@
\\ 反斜槓
```
可以通過十六進製或八進製轉義在字符串面值包含任意的字節. 一個十六進製的轉義是 \xhh, 其中兩個h表示十六進製數字(大寫或小寫都可以). 一個八進製轉義是 \ooo, 包含三個八進製的o數字(0到7), 但是不能超過\377. 每一個單一的字節表達一個特定的值. 稍後我們將看到如何將一個Unicode碼點寫到字符串面值中.
可以通過十六進製或八進製轉義在字符串面值包含任意的字節一個十六進製的轉義形式是\xhh其中兩個h表示十六進製數字大寫或小寫都可以)。一個八進製轉義形式是\ooo包含三個八進製的o數字0到7但是不能超過`\377`譯註對應一個字節的范圍十進製爲255每一個單一的字節表達一個特定的值稍後我們將看到如何將一個Unicode碼點寫到字符串面值中
一個原生的字符串面值形式是 `...`, 使用反引號 ``` 代替雙引號. 在原生的字符串面值中, 沒有轉義操作; 全部的內容都是字面的意思, 包含退格和換行, 因此一個程序中的原生字符串面值可能跨越多行. 唯一的特殊處理是刪除迴車以保證在所有平台上的值都是一樣的, 包括那些把迴車也放入文本文件的繫統.
一個原生的字符串面值形式是`...`使用反引號```代替雙引號在原生的字符串面值中沒有轉義操作全部的內容都是字面的意思包含退格和換行因此一個程序中的原生字符串面值可能跨越多行(譯註:在原生字符串面值內部是無法直接寫```字符的,可以用八進製或十六進製轉義或+"```"鏈接字符串常量完成)。唯一的特殊處理是刪除迴車以保證在所有平台上的值都是一樣的包括那些把迴車也放入文本文件的繫統譯註Windows繫統會把迴車和換行一起放入文本文件中
原生字符串面值用於編寫正則表達式會很方便, 因爲正則表達式往往會包含很多反斜槓. 原生字符串面值同時廣泛應用於HTML模闆, JSON面值, 命令行提示信息, 以及那些需要擴展到多行的場景.
原生字符串面值用於編寫正則表達式會很方便因爲正則表達式往往會包含很多反斜槓原生字符串面值同時廣泛應用於HTML模闆JSON面值命令行提示信息以及那些需要擴展到多行的場景
```Go
const GoUsage = `Go is a tool for managing Go source code.