Para los que vienen de programar en C, los entiendo esto puede ser confunso pero veanlo asi, cuando creamos un array en C estamos allocando memorias contiguas del mismo tipo estaticas, y lo que almacenamos en la variable no es esos datos si no un puntero a esos datos podriamos pensar que en Golang es igual pero no, en Golang lo que se guarda en memoria es todo el array como un valor, si suena loco, y como podemos tener un puntero a el array?
pues ahi estan los slices, son basicamente punteros a arrays, tienen 3 propiedades:
pues ahi estan los slices, son basicamente punteros a arrays, tienen 3 propiedades:
- un valor con la direccion de memoria donde empieza el slice
- len => un valor que dice el tamaño del slice
- cap => un valor que inidica el valor maximo que se puede expandir el slice basado en el tamaño del array al que apunta
Para mas informacion: https://blog.golang.org/slices-intro