You don't need to cache the length. The great thing about how slices and strings in Go are designed, is that getting the length is just reading a int64 - no indirection, no function calls: `MOVQ    src+8(FP),BX`