На машине с 64-битной ОС,
Для кода ниже:
println("Simple Array:")
var arrayint = [...]int{1, 2, 3, 4} //assign
fmt.Println(arrayint)
println("Simple Slice:")
var sliceint []int
sliceint = arrayint[:] //assign
fmt.Println(sliceint)
Ниже представлено представление памяти:
Для приведенного ниже кода:
println("Array of arrays:")
var arrayofarrays [3][len(arrayint)]int
for i := range arrayofarrays { //assign
arrayofarrays[i] = arrayint
}
fmt.Println(arrayofarrays)
println("Array of slices:")
var arrayofslice [len(arrayofarrays)][]int
for i := range arrayofarrays { // assign
arrayofslice[i] = arrayofarrays[i][:]
}
fmt.Println(arrayofslice)
println("Slice of arrays:")
var sliceofarray [][len(arrayint)]int
sliceofarray = arrayofarrays[:]
fmt.Println(sliceofarray)
Редактировать: Ниже приведено представление памяти:
Для кода ниже:
var sliceofslices [][]int
ниже - представление памяти:
Для строки ниже:
sliceofslices = arrayofslice[:]
Какое представление памяти для sliceofslices
? Необходимо понять, прежде чем использовать его ...