when evacuate oldbucket, go will migrate the data to a new position.
and i found it used X and Y as two bucket where Xi equal the old index in h.oldbuckets and Yi equal Xi plus newbit
suppose the length of oldbuckets is 8 , and the hash of a key is 13 (just a example), then it will be put in the 5. Now, the buckets grow to 16, it should be put in the 13. I think.
but i found the code below.
useX will be true, if so, the 13 will be put in the 5 still, then i can't understand it. Did i miss something ?
go 1.9