Go’s arrays are values. An array variable denotes the entire array; it is not a pointer to the first array element (as would be the case in C). This means that when you assign or pass around an array value you will make a copy of its contents. (To avoid the copy you could pass a pointer to the array, but then that’s a pointer to an array, not an array.) One way to think about arrays is as a sort o
![Go Slices: usage and internals - The Go Programming Language](https://cdn-ak-scissors.b.st-hatena.com/image/square/61955b2029cca886435bd7bb93b949e8f18ae48d/height=288;version=1;width=512/https%3A%2F%2Fgo.dev%2Fdoc%2Fgopher%2Frunningsquare.jpg)