Go 语言

Go 语言教程 Go 语言环境安装 Go 语言结构 Go 语言基础语法 Go 语言数据类型 Go 语言变量 Go 语言常量 Go 语言运算符 Go 语言条件语句 Go 语言 if 语句 Go 语言 if...else 语句 Go 语言 if 语句嵌套 Go 语言 switch 语句 Go 语言 select 语句 Go 语言循环语句 Go 语言 for 循环 Go 语言循环嵌套 Go 语言 break 语句 Go 语言 continue 语句 Go 语言 goto 语句 Go 语言函数 Go 语言函数值传递值 Go 语言函数引用传递值 Go 语言函数作为值 Go 语言函数闭包 Go 语言函数方法 Go 语言变量作用域 Go 语言数组 Go 语言多维数组 Go 语言向函数传递数组 Go 语言指针 Go 语言指针数组 Go 语言指向指针的指针 Go 语言指针作为函数参数 Go 语言结构体 Go 语言切片(Slice) Go 语言范围(Range) Go 语言Map(集合) Go 语言递归函数 Go 语言类型转换 Go 语言接口 Go 错误处理 Go 语言开发工具Go 语言标准库

Go 语言标准库


package encoding

import "encoding"

encoding包定义了供其它包使用的可以将数据在字节水平和文本表示之间转换的接口。encoding/gob、encoding/json、encoding/xml三个包都会检查使用这些接口。因此,只要实现了这些接口一次,就可以在多个包里使用。标准包内建类型time.Time和net.IP都实现了这些接口。接口是成对的,分别产生和还原编码后的数据。

Go语言标准库 >>


  • type BinaryMarshaler
  • type BinaryUnmarshaler
  • type TextMarshaler
  • type TextUnmarshaler
  • type BinaryMarshaler

    type BinaryMarshaler interface {
        MarshalBinary() (data []byte, err error)
    }

    实现了BinaryMarshaler接口的类型可以将自身序列化为binary格式。

    type BinaryUnmarshaler

    type BinaryUnmarshaler interface {
        UnmarshalBinary(data []byte) error
    }

    实现了BinaryUnmarshaler接口的类型可以将binary格式表示的自身解序列化。

    UnmarshalBinary必须可以解码MarshalBinary生成的binary格式数据。本函数可能会对data内容作出修改,所以如果要保持data的数据请事先进行拷贝。

    type TextMarshaler

    type TextMarshaler interface {
        MarshalText() (text []byte, err error)
    }

    实现了BinaryMarshaler接口的类型可以将自身序列化为utf-8编码的textual格式。

    type TextUnmarshaler

    type TextUnmarshaler interface {
        UnmarshalText(text []byte) error
    }

    实现了TextUnmarshaler接口的类型可以将textual格式表示的自身解序列化。

    UnmarshalText必须可以解码MarshalText生成的textual格式数据。本函数可能会对data内容作出修改,所以如果要保持data的数据请事先进行拷贝。