mirror of
https://github.com/golang/go
synced 2024-11-22 04:24:39 -07:00
encoding: new package
See golang.org/s/go12encoding for design. R=r CC=golang-dev https://golang.org/cl/12541051
This commit is contained in:
parent
85f3acd788
commit
48b90bbc55
4
src/cmd/dist/build.c
vendored
4
src/cmd/dist/build.c
vendored
@ -992,6 +992,8 @@ install(char *dir)
|
||||
vadd(&compile, bprintf(&b, "GOOS_%s", goos));
|
||||
vadd(&compile, "-D");
|
||||
vadd(&compile, bprintf(&b, "GOARCH_%s", goarch));
|
||||
vadd(&compile, "-D");
|
||||
vadd(&compile, bprintf(&b, "GOOS_GOARCH_%s_%s", goos, goarch));
|
||||
}
|
||||
|
||||
bpathf(&b, "%s/%s", workdir, lastelem(files.p[i]));
|
||||
@ -1265,6 +1267,7 @@ static char *buildorder[] = {
|
||||
"pkg/os",
|
||||
"pkg/reflect",
|
||||
"pkg/fmt",
|
||||
"pkg/encoding",
|
||||
"pkg/encoding/json",
|
||||
"pkg/flag",
|
||||
"pkg/path/filepath",
|
||||
@ -1317,6 +1320,7 @@ static char *cleantab[] = {
|
||||
"pkg/bufio",
|
||||
"pkg/bytes",
|
||||
"pkg/container/heap",
|
||||
"pkg/encoding",
|
||||
"pkg/encoding/base64",
|
||||
"pkg/encoding/json",
|
||||
"pkg/errors",
|
||||
|
48
src/pkg/encoding/encoding.go
Normal file
48
src/pkg/encoding/encoding.go
Normal file
@ -0,0 +1,48 @@
|
||||
// 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 encoding defines interfaces shared by other packages that
|
||||
// convert data to and from byte-level and textual representations.
|
||||
// Packages that check for these interfaces include encoding/gob,
|
||||
// encoding/json, and encoding/xml. As a result, implementing an
|
||||
// interface once can make a type useful in multiple encodings.
|
||||
// Standard types that implement these interfaces include time.Time and net.IP.
|
||||
// The interfaces come in pairs that produce and consume encoded data.
|
||||
package encoding
|
||||
|
||||
// BinaryMarshaler is the interface implemented by an object that can
|
||||
// marshal itself into a binary form.
|
||||
//
|
||||
// MarshalBinary encodes the receiver into a binary form and returns the result.
|
||||
type BinaryMarshaler interface {
|
||||
MarshalBinary() (data []byte, err error)
|
||||
}
|
||||
|
||||
// BinaryUnmarshaler is the interface implemented by an object that can
|
||||
// unmarshal a binary representation of itself.
|
||||
//
|
||||
// UnmarshalBinary must be able to decode the form generated by MarshalBinary.
|
||||
// UnmarshalBinary must copy the data if it wishes to retain the data
|
||||
// after returning.
|
||||
type BinaryUnmarshaler interface {
|
||||
UnmarshalBinary(data []byte) error
|
||||
}
|
||||
|
||||
// TextMarshaler is the interface implemented by an object that can
|
||||
// marshal itself into a textual form.
|
||||
//
|
||||
// MarshalText encodes the receiver into UTF-8-encoded text and returns the result.
|
||||
type TextMarshaler interface {
|
||||
MarshalText() (text []byte, err error)
|
||||
}
|
||||
|
||||
// TextUnmarshaler is the interface implemented by an object that can
|
||||
// unmarshal a textual representation of itself.
|
||||
//
|
||||
// UnmarshalText must be able to decode the form generated by MarshalText.
|
||||
// UnmarshalText must copy the text if it wishes to retain the text
|
||||
// after returning.
|
||||
type TextUnmarshaler interface {
|
||||
UnmarshalText(text []byte) error
|
||||
}
|
@ -192,12 +192,13 @@ var pkgDeps = map[string][]string{
|
||||
"debug/gosym": {"L4"},
|
||||
"debug/macho": {"L4", "OS", "debug/dwarf"},
|
||||
"debug/pe": {"L4", "OS", "debug/dwarf"},
|
||||
"encoding": {"L4"},
|
||||
"encoding/ascii85": {"L4"},
|
||||
"encoding/asn1": {"L4", "math/big"},
|
||||
"encoding/csv": {"L4"},
|
||||
"encoding/gob": {"L4", "OS"},
|
||||
"encoding/gob": {"L4", "OS", "encoding"},
|
||||
"encoding/hex": {"L4"},
|
||||
"encoding/json": {"L4"},
|
||||
"encoding/json": {"L4", "encoding"},
|
||||
"encoding/pem": {"L4"},
|
||||
"encoding/xml": {"L4"},
|
||||
"flag": {"L4", "OS"},
|
||||
|
Loading…
Reference in New Issue
Block a user