mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-24 04:22:22 +00:00
typo
This commit is contained in:
parent
df6fe0b5b3
commit
e41820109f
@ -334,9 +334,9 @@ func str2runes(s []byte) []rune {
|
|||||||
func runes2string(s []int32) string {
|
func runes2string(s []int32) string {
|
||||||
var p []byte
|
var p []byte
|
||||||
buf := make([]byte, 3)
|
buf := make([]byte, 3)
|
||||||
for _, r := range {
|
for _, r := range s {
|
||||||
n := utf8.EncodeRune(buf, r)
|
n := utf8.EncodeRune(buf, r)
|
||||||
p = append(p, buf[:n])
|
p = append(p, buf[:n]...)
|
||||||
}
|
}
|
||||||
return string(p)
|
return string(p)
|
||||||
}
|
}
|
||||||
@ -378,7 +378,7 @@ var (
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
和数组一样,内置的`len`函数返回切片中有效元素的长度,内置的`cap`函数返回切片容量大小,容量必须大于或等于切片的长度。也可以通过`reflect.SliceHeader`结构访问切片的信息(只是为了说明字符串的结构,并不是推荐的做法)。切片可以和`nil`进行比较,只有当切片底层数据指针为空时切片本身为`nil`,这时候切片的长度和容量信息将是无效的。如果有切片的底层数据指针为空,但是长度和容量不为0的情况,那么说明切片本身已经被损坏了(比如直接通过`reflect.SliceHeader`或`unsafe`包对切片作了不正确的修改)。
|
和数组一样,内置的`len`函数返回切片中有效元素的长度,内置的`cap`函数返回切片容量大小,容量必须大于或等于切片的长度。也可以通过`reflect.SliceHeader`结构访问切片的信息(只是为了说明切片的结构,并不是推荐的做法)。切片可以和`nil`进行比较,只有当切片底层数据指针为空时切片本身为`nil`,这时候切片的长度和容量信息将是无效的。如果有切片的底层数据指针为空,但是长度和容量不为0的情况,那么说明切片本身已经被损坏了(比如直接通过`reflect.SliceHeader`或`unsafe`包对切片作了不正确的修改)。
|
||||||
|
|
||||||
遍历切片的方式和遍历数组的方式类似:
|
遍历切片的方式和遍历数组的方式类似:
|
||||||
|
|
||||||
@ -437,7 +437,7 @@ a = append(a[:i], append([]int{1,2,3}, a[i:]...)...) // 在第i个位置插入
|
|||||||
```go
|
```go
|
||||||
a = append(a, 0) // 切片扩展1个空间
|
a = append(a, 0) // 切片扩展1个空间
|
||||||
copy(a[i+1:], a[i:]) // a[i:]向后移动1个位置
|
copy(a[i+1:], a[i:]) // a[i:]向后移动1个位置
|
||||||
s[i] = x // 设置新添加的元素
|
a[i] = x // 设置新添加的元素
|
||||||
```
|
```
|
||||||
|
|
||||||
第一句`append`用于扩展切片的长度,为要插入的元素留出空间。第二句`copy`操作将要插入位置开始之后的元素向后挪动一个位置。第三句真实地将新添加的元素赋值到对应的位置。操作语句虽然冗长了一点,但是相比前面的方法,可以减少中间创建的临时切片。
|
第一句`append`用于扩展切片的长度,为要插入的元素留出空间。第二句`copy`操作将要插入位置开始之后的元素向后挪动一个位置。第三句真实地将新添加的元素赋值到对应的位置。操作语句虽然冗长了一点,但是相比前面的方法,可以减少中间创建的临时切片。
|
||||||
|
Loading…
x
Reference in New Issue
Block a user