code: func RemoveByte(data []byte, c byte) []byte {
  	j := bytes.IndexByte(data, c)
  	if j == -1 {
  		return data
  	}
  
  	n := len(data) - 1
  
  	// If character is present, than allocate slice with n-1 capacity. That is,
  	// resulting bytes could be at most n-1 length.
  	result := make([]byte, n)
  	k := copy(result, data[:j])
  
  	for i := j + 1; i < n; {
  		j = bytes.IndexByte(data[i:], c)
  		if j != -1 {
  			k += copy(result[k:], data[i:i+j])
  			i = i + j + 1
  		} else {
  			k += copy(result[k:], data[i:])
  			break
  		}
  	}
  
  	return result[:k]
  }
docs: // RemoveByte returns data without c. If c is not present in data it returns
  // the same slice. If not, it copies data without c.