From 284a2a8f31935bce335b610c71def513cb95e306 Mon Sep 17 00:00:00 2001 From: Jeff Date: Mon, 16 Mar 2015 17:05:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=E7=BF=BB=E8=AF=91=EF=BC=9B?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BE=8B=E5=AD=90=E7=9A=84=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eBook/07.6.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eBook/07.6.md b/eBook/07.6.md index 7fcf2da..894ec19 100644 --- a/eBook/07.6.md +++ b/eBook/07.6.md @@ -2,9 +2,9 @@ ## 7.6.1 从字符串生成字节切片 -假设 s 是一个字符串(本质上是一个字节数组),那么就可以直接通过 `c := []bytes(s)` 来获取 c 为一个元素类型为字节的切片。另外,您还可以通过 copy 函数来实现:`copy(dst []byte, src string)`. +假设 s 是一个字符串(本质上是一个字节数组),那么就可以直接通过 `c := []bytes(s)` 来获取一个字节的切片 c。另外,您还可以通过 copy 函数来达到相同的目的:`copy(dst []byte, src string)`。 -同样的,还可以使用 for-range 语法来获得每个元素(Listing 7.13—for_string.go): +同样的,还可以使用 for-range 来获得每个元素(Listing 7.13—for_string.go): ```go package main @@ -23,9 +23,9 @@ func main() { 0:ÿ 2:界 -我们发现,Unicode 字符会占用 2 个字节,有些甚至需要 3 个或者 4 个字节来进行表示。如果发现错误的 UTF8 字符,则该字符会被设置为 U+FFFD 并直接向前移动一个字节。和字符串转换一样,您同样可以使用 `c := []int(s)` 语法,这样切片中的每个 int 都会包含对应的 Unicode 代码,因为字符串中的每次字符都会对应一个整数。类似的,您也可以将字符串转换为元素类型为 rune 的切片:`r := []rune(s)`。 +我们知道,Unicode 字符会占用 2 个字节,有些甚至需要 3 个或者 4 个字节来进行表示。如果发现错误的 UTF8 字符,则该字符会被设置为 U+FFFD 并且索引向前移动一个字节。和字符串转换一样,您同样可以使用 `c := []int(s)` 语法,这样切片中的每个 int 都会包含对应的 Unicode 代码,因为字符串中的每次字符都会对应一个整数。类似的,您也可以将字符串转换为元素类型为 rune 的切片:`r := []rune(s)`。 -可以通过代码 `len([]int(s))` 来获得字符串中字符的数量,但使用 `utf8.RuneCountInString(s)` 效率会更高一点。 +可以通过代码 `len([]int(s))` 来获得字符串中字符的数量,但使用 `utf8.RuneCountInString(s)` 效率会更高一点。(参考[count_characters.go](exercises/chapter_4/count_characters.go)) 您还可以将一个字符串追加到某一个字符数组的尾部: