code: func (d Duration) String() string {
  	var buf bytes.Buffer
  
  	sign, hours, minutes, seconds, fraction := splitDuration(d.Duration)
  	if sign < 0 {
  		buf.WriteByte('-')
  	}
  
  	fmt.Fprintf(&buf, "%02d:%02d:%02d", hours, minutes, seconds)
  	if d.Fsp > 0 {
  		buf.WriteString(".")
  		buf.WriteString(d.formatFrac(fraction))
  	}
  
  	p := buf.String()
  
  	return p
  }
docs: // String returns the time formatted using default TimeFormat and fsp.