That does not match my real world experience. If you have an array of small structs then the padding matters. And if some fields are hot while others are cold you usually want to split the array of structs into two arrays of structs, one with the cold part and one with the hot. The use case Go optimizes for is not common in the fields I have been working in.
I think the default should be to minimize size and that it should be possible to opt out for the rare case where exact order matters.
I think the default should be to minimize size and that it should be possible to opt out for the rare case where exact order matters.