code: func (kf *KeyFormat) Scan(key []byte, args ...interface{}) error {
  	segments := kf.ScanBytes(key)
  	if len(args) > len(segments) {
  		return fmt.Errorf("KeyFormat.Scan() is provided with %d args but format only has %d segments in key %X",
  			len(args), len(segments), key)
  	}
  	for i, a := range args {
  		scan(a, segments[i])
  	}
  	return nil
  }
docs: // Extracts the segments into the values pointed to by each of args. Each arg must be a pointer to int64, uint64, or
  // []byte, and the width of the args must match layout.