code: func AddString32(h uint32, s string) uint32 {
  	i := 0
  	n := (len(s) / 8) * 8
  
  	for i != n {
  		h = (h ^ uint32(s[i])) * prime32
  		h = (h ^ uint32(s[i+1])) * prime32
  		h = (h ^ uint32(s[i+2])) * prime32
  		h = (h ^ uint32(s[i+3])) * prime32
  		h = (h ^ uint32(s[i+4])) * prime32
  		h = (h ^ uint32(s[i+5])) * prime32
  		h = (h ^ uint32(s[i+6])) * prime32
  		h = (h ^ uint32(s[i+7])) * prime32
  		i += 8
  	}
  
  	for _, c := range s[i:] {
  		h = (h ^ uint32(c)) * prime32
  	}
  
  	return h
  }
docs: // AddString32 adds the hash of s to the precomputed hash value h.