Ejemplo n.º 1
0
func valueString(ts *ts.TimeSeries, start, end time.Time) (string, error) {
	s := bytes.NewBufferString("[ '")
	if _, err := s.WriteString(ts.Key()); err != nil {
		return "", err
	}
	if _, err := s.WriteString("', "); err != nil {
		return "", err
	}
	for cursor, step := start, ts.Step(); cursor.Before(end); cursor = cursor.Add(step) {
		v, _ := ts.GetAt(cursor)
		if _, err := s.WriteString(strconv.FormatFloat(v, 'E', 2, 64)); err != nil {
			return "", err
		}
		if err := s.WriteByte(','); err != nil {
			return "", err
		}
		if step == 0 {
			break
		}
	}
	if s.Len() > 0 {
		s.Truncate(s.Len() - 1)
	}
	if err := s.WriteByte(']'); err != nil {
		return "", err
	}
	return s.String(), nil
}