var ZeroSamplePair … type SampleValue … // MarshalJSON implements json.Marshaler. func (v SampleValue) MarshalJSON() ([]byte, error) { … } // UnmarshalJSON implements json.Unmarshaler. func (v *SampleValue) UnmarshalJSON(b []byte) error { … } // Equal returns true if the value of v and o is equal or if both are NaN. Note // that v==o is false if both are NaN. If you want the conventional float // behavior, use == to compare two SampleValues. func (v SampleValue) Equal(o SampleValue) bool { … } func (v SampleValue) String() string { … } type SamplePair … func (s SamplePair) MarshalJSON() ([]byte, error) { … } // UnmarshalJSON implements json.Unmarshaler. func (s *SamplePair) UnmarshalJSON(b []byte) error { … } // Equal returns true if this SamplePair and o have equal Values and equal // Timestamps. The semantics of Value equality is defined by SampleValue.Equal. func (s *SamplePair) Equal(o *SamplePair) bool { … } func (s SamplePair) String() string { … }