As @JimB noted in the comments, this is due to the way slices functions in Go.
, , 3 : , , " " ( ). .
s[:x], , , . , , , .
s[x:], . "" , , slice , .
, s := []int{2, 3, 5, 7, 11, 13}, :
ptr: 0x00000000
len: 6
cap: 6
s = s[:3], :
ptr: 0x00000000
len: 3
cap: 6
, len. s = s[:cap(s)], , , , . "", , :
ptr: 0x00000000
len: 6
cap: 6
, s = s[2:], :
ptr: 0x00000010
len: 4
cap: 4
, 16 ( int 64- ), , 4 "", .
, ! , , . reset , , . , Go , , ++.
, s = s[:cap(s)] () , . s = s[:6], , , s = s[:4], ( , , ).
Go ( ), , , , , . . , 33% (, , ), , , @JimB, , , , .