mirror of
https://github.com/golang/go
synced 2024-11-12 09:20:22 -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, bprintf(&b, "GOOS_%s", goos));
|
||||||
vadd(&compile, "-D");
|
vadd(&compile, "-D");
|
||||||
vadd(&compile, bprintf(&b, "GOARCH_%s", goarch));
|
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]));
|
bpathf(&b, "%s/%s", workdir, lastelem(files.p[i]));
|
||||||
@ -1265,6 +1267,7 @@ static char *buildorder[] = {
|
|||||||
"pkg/os",
|
"pkg/os",
|
||||||
"pkg/reflect",
|
"pkg/reflect",
|
||||||
"pkg/fmt",
|
"pkg/fmt",
|
||||||
|
"pkg/encoding",
|
||||||
"pkg/encoding/json",
|
"pkg/encoding/json",
|
||||||
"pkg/flag",
|
"pkg/flag",
|
||||||
"pkg/path/filepath",
|
"pkg/path/filepath",
|
||||||
@ -1317,6 +1320,7 @@ static char *cleantab[] = {
|
|||||||
"pkg/bufio",
|
"pkg/bufio",
|
||||||
"pkg/bytes",
|
"pkg/bytes",
|
||||||
"pkg/container/heap",
|
"pkg/container/heap",
|
||||||
|
"pkg/encoding",
|
||||||
"pkg/encoding/base64",
|
"pkg/encoding/base64",
|
||||||
"pkg/encoding/json",
|
"pkg/encoding/json",
|
||||||
"pkg/errors",
|
"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/gosym": {"L4"},
|
||||||
"debug/macho": {"L4", "OS", "debug/dwarf"},
|
"debug/macho": {"L4", "OS", "debug/dwarf"},
|
||||||
"debug/pe": {"L4", "OS", "debug/dwarf"},
|
"debug/pe": {"L4", "OS", "debug/dwarf"},
|
||||||
|
"encoding": {"L4"},
|
||||||
"encoding/ascii85": {"L4"},
|
"encoding/ascii85": {"L4"},
|
||||||
"encoding/asn1": {"L4", "math/big"},
|
"encoding/asn1": {"L4", "math/big"},
|
||||||
"encoding/csv": {"L4"},
|
"encoding/csv": {"L4"},
|
||||||
"encoding/gob": {"L4", "OS"},
|
"encoding/gob": {"L4", "OS", "encoding"},
|
||||||
"encoding/hex": {"L4"},
|
"encoding/hex": {"L4"},
|
||||||
"encoding/json": {"L4"},
|
"encoding/json": {"L4", "encoding"},
|
||||||
"encoding/pem": {"L4"},
|
"encoding/pem": {"L4"},
|
||||||
"encoding/xml": {"L4"},
|
"encoding/xml": {"L4"},
|
||||||
"flag": {"L4", "OS"},
|
"flag": {"L4", "OS"},
|
||||||
|
Loading…
Reference in New Issue
Block a user