slice vs array in go