mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 02:16:48 +08:00
update book code
This commit is contained in:
39
eBook/examples/chapter_12/gob2.go
Normal file
39
eBook/examples/chapter_12/gob2.go
Normal file
@@ -0,0 +1,39 @@
|
||||
// gob2.go
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/gob"
|
||||
"log"
|
||||
"os"
|
||||
)
|
||||
|
||||
type Address struct {
|
||||
Type string
|
||||
City string
|
||||
Country string
|
||||
}
|
||||
|
||||
type VCard struct {
|
||||
FirstName string
|
||||
LastName string
|
||||
Addresses []*Address
|
||||
Remark string
|
||||
}
|
||||
|
||||
var content string
|
||||
|
||||
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}:
|
||||
// using an encoder:
|
||||
file, _ := os.OpenFile("vcard.gob", os.O_CREATE|os.O_WRONLY, 0)
|
||||
defer file.Close()
|
||||
enc := gob.NewEncoder(file)
|
||||
err := enc.Encode(vc)
|
||||
if err != nil {
|
||||
log.Println("Error in encoding gob")
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user