X7ROOT File Manager
Current Path:
/opt/golang/1.17.2/src/encoding/gob
opt
/
golang
/
1.17.2
/
src
/
encoding
/
gob
/
📁
..
📄
codec_test.go
(35.03 KB)
📄
debug.go
(18.21 KB)
📄
dec_helpers.go
(13.32 KB)
📄
decgen.go
(4.8 KB)
📄
decode.go
(38.99 KB)
📄
decoder.go
(6.8 KB)
📄
doc.go
(16.72 KB)
📄
dump.go
(575 B)
📄
enc_helpers.go
(9.94 KB)
📄
encgen.go
(3.76 KB)
📄
encode.go
(20.02 KB)
📄
encoder.go
(7.76 KB)
📄
encoder_test.go
(26.97 KB)
📄
error.go
(1.36 KB)
📄
example_encdec_test.go
(1.54 KB)
📄
example_interface_test.go
(2.14 KB)
📄
example_test.go
(1.41 KB)
📄
gobencdec_test.go
(18.38 KB)
📄
timing_test.go
(6.16 KB)
📄
type.go
(26.65 KB)
📄
type_test.go
(6.14 KB)
Editing: example_encdec_test.go
// Copyright 2013 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package gob_test import ( "bytes" "encoding/gob" "fmt" "log" ) // The Vector type has unexported fields, which the package cannot access. // We therefore write a BinaryMarshal/BinaryUnmarshal method pair to allow us // to send and receive the type with the gob package. These interfaces are // defined in the "encoding" package. // We could equivalently use the locally defined GobEncode/GobDecoder // interfaces. type Vector struct { x, y, z int } func (v Vector) MarshalBinary() ([]byte, error) { // A simple encoding: plain text. var b bytes.Buffer fmt.Fprintln(&b, v.x, v.y, v.z) return b.Bytes(), nil } // UnmarshalBinary modifies the receiver so it must take a pointer receiver. func (v *Vector) UnmarshalBinary(data []byte) error { // A simple encoding: plain text. b := bytes.NewBuffer(data) _, err := fmt.Fscanln(b, &v.x, &v.y, &v.z) return err } // This example transmits a value that implements the custom encoding and decoding methods. func Example_encodeDecode() { var network bytes.Buffer // Stand-in for the network. // Create an encoder and send a value. enc := gob.NewEncoder(&network) err := enc.Encode(Vector{3, 4, 5}) if err != nil { log.Fatal("encode:", err) } // Create a decoder and receive a value. dec := gob.NewDecoder(&network) var v Vector err = dec.Decode(&v) if err != nil { log.Fatal("decode:", err) } fmt.Println(v) // Output: // {3 4 5} }
Upload File
Create Folder