12.7-12.12

This commit is contained in:
Unknwon
2015-11-18 19:06:39 -05:00
parent 145cb40146
commit 48d5b9db25
10 changed files with 33 additions and 28 deletions

View File

@@ -16,7 +16,6 @@ Gob 文件或流是完全自描述的:里面包含的所有类型都有一个
```go
type T struct { X, Y, Z int }
var t = T{X: 7, Y: 0, Z: 8}
```
而在接收者这边可以用一个结构体 U 类型的变量 u 来接收这个值:
@@ -24,7 +23,6 @@ var t = T{X: 7, Y: 0, Z: 8}
```go
type U struct { X, Y *int8 }
var u U
```
在接收者中X 的值是7Y 的值是0Y的值并没有从 t 中传递过来,因为它是零值)
@@ -81,7 +79,6 @@ func main() {
fmt.Printf("%q: {%d,%d}\n", q.Name, *q.X, *q.Y)
}
// Output: "Pythagoras": {3,4}
```
示例 12.19 [gob2.go](examples/chapter_12/gob2.go) 编码到文件:
@@ -115,7 +112,7 @@ func main() {
pa := &Address{"private", "Aartselaar","Belgium"}
wa := &Address{"work", "Boom", "Belgium"}
vc := VCard{"Jan", "Kersschot", []*Address{pa,wa}, "none"}
// fmt.Printf("%v: \n", vc) // {Jan Kersschot [0x126d2b80 0x126d2be0] none}:
// fmt.Printf("%v: \n", vc) // {Jan Kersschot [0x126d2b80 0x126d2be0] none}:
// using an encoder:
file, _ := os.OpenFile("vcard.gob", os.O_CREATE|os.O_WRONLY, 0)
defer file.Close()
@@ -125,16 +122,14 @@ func main() {
log.Println("Error in encoding gob")
}
}
```
**练习 12.8**[degob.go](exercises/chapter_12/degob.go)
写一个程序读取 vcard.gob 文件,解码并打印它的内容。
## 链接
- [目录](directory.md)
- 上一节:[XML 数据格式](12.10.md)
- 下一节:[Go 中的密码学](12.12.md)
- 下一节:[Go 中的密码学](12.12.md)