क्या एक बहुआयामी सरणी पर रेंज और लेन का उपयोग करना संभव है?जाओ: बहुआयामी सरणी की रेंज और लेन?
या तो वर के साथ एक [3] int8 या
package main
func main() {
var a [3][5]int8
for h := range a {
println(h)
}
println(len(a))
}
दोनों 0 1 2 3
उत्पादन?
डाइस्ट्रॉय के उत्तर के लिए धन्यवाद, यहां एक 3-आयामी सरणी लिखने और पढ़ने का एक उदाहरण है जिसे मैं अनुकूलित करने में सक्षम था (यहां पोस्ट करना क्योंकि मुझे इसके किसी भी उदाहरण को खोजने में बहुत परेशानी थी, इसलिए शायद यह किसी और की मदद करेगी):
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()
}
}
एक बहुआयामी सरणी की सामग्री के माध्यम से लूपिंग का एक अच्छा तरीका क्या है, अगर सरणी के आकार को ज्ञात/याद नहीं किया जाता है? 'लेंस (ए) 'और' _, var: = श्रेणी ए' के आधार पर 2 loops? क्या '_, _, var: = range a' के रूप में 3 (या अधिक) आयामी सरणी के लिए रेंज स्केल का उपयोग करने का तरीका है? – kilves76
मैंने लूप के समाधान के साथ संपादित किया: आपको दो लूप की आवश्यकता है। –
उदाहरण के लिए धन्यवाद, मुझे कहीं भी नहीं मिला। – kilves76