As Array doc in golang says:
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.
As we all know,when an array is created,a piece of memory will be allocated to save values included in this array:
And the array name in C points to the first memory address,then it can calculate the address of given array index and modify or read the value of this index.But this doc says golang implementation is different from this.
I'm confused that what advantages do golang way have and how it can implement as its current way.Anyone can tell me about this,thanks very much!