È possibile utilizzare range e len su un array multidimensionale?Go: range e len dell'array multidimensionale?
O con var a [3] int8 o
package main
func main() {
var a [3][5]int8
for h := range a {
println(h)
}
println(len(a))
}
Entrambi producono 0 1 2 3
?
Grazie alla risposta di dystroy, ecco un esempio di scrittura e di lettura di una matrice 3-dimensionale sono stato in grado di adattarsi (distacco qui perché ho avuto molta difficoltà a trovare alcun esempio di questo, quindi forse ciò contribuirà a qualcun altro):
package main
func main() {
var a [3][5][7]uint8
//write values to array
for x, b := range a {
for y, c := range b {
for z, _ := range c {
a[x][y][z] = uint8(x*100+y*10+z)
}
}
}
//read values from array
for _, h := range a {
for _, i := range h {
for _, j := range i {
print(j, "\t")
}
println()
}
println()
}
}
quale è un modo piacevole di scorrere i contenuti di una matrice multidimensionale, se/quando la dimensione dell'array non è conosciuta/ricordata? 2 cicli basati su 'len (a)' e '_, var: = range a'? Utilizza la scala di intervalli per 3 (o più) array dimensionali come in '_, _, var: = range a'? – kilves76
Ho modificato con la soluzione in loop: sono necessari due cicli. –
Grazie per l'esempio, non ho potuto trovare da nessuna parte. – kilves76