Documentation
¶
Index ¶
Constants ¶
const (
// Null is the string representation of a null value
Null = "null"
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Float32 ¶ added in v0.1.1
type Float32 float32
func (Float32) MarshalJSON ¶ added in v0.1.1
func (*Float32) UnmarshalJSON ¶ added in v0.1.1
type Float64 ¶ added in v0.1.1
type Float64 float64
func (Float64) MarshalJSON ¶ added in v0.1.1
func (*Float64) UnmarshalJSON ¶ added in v0.1.1
type Time ¶ added in v1.36.178
type Time struct {
// Seconds is seconds since the epoch.
Seconds int64 `json:"seconds"`
// Nanos is the nanosecond within that second.
Nanos int32 `json:"nanos"`
// Offset is seconds east of UTC.
Offset int32 `json:"offset"`
}
Time is an instant, on a wire whose fields are offsets.
time.Time cannot be one. Its fields are all unexported, so a reply that holds one lays out with nothing in it — eight bytes pointing at an empty message — and a caller reads a zero it cannot tell from a zero that was sent. That is worse than a refusal: nothing fails and the value is simply absent.
The same instant as three numbers does have a layout. The JSON is byte for byte what time.Time's own marshaler writes, because the offset is all the rendering depends on: RFC 3339 spells a zero offset "Z" and any other one "+HH:MM", so carrying it is enough to put the instant back in the zone it was read in.
func (Time) MarshalJSON ¶ added in v1.36.178
func (*Time) MarshalZAP ¶ added in v1.36.178
MarshalZAP writes Time from constant offsets.
func (*Time) UnmarshalJSON ¶ added in v1.36.178
func (*Time) UnmarshalZAP ¶ added in v1.36.178
UnmarshalZAP reads Time out of the buffer that arrived.