Go ภาษาอาร์เรย์หลายมิติ
ไปสนับสนุนภาษาอาร์เรย์หลายมิติต่อไปนี้วิธีที่พบประกาศอาร์เรย์หลายมิติ:
var variable_name [SIZE1][SIZE2]...[SIZEN] variable_type
ตัวอย่างต่อไปนี้ประกาศอาร์เรย์สามมิติของจำนวนเต็ม:
var threedim [5][10][4]int
อาร์เรย์สองมิติ
อาร์เรย์สองมิติเป็นที่ง่ายอาร์เรย์หลายมิติอาร์เรย์สองมิติเป็นหลักอาร์เรย์หนึ่งมิติของ อาร์เรย์สองมิติที่ถูกกำหนดให้ดังต่อไปนี้:
var arrayName [ x ][ y ] variable_type
ชนิดข้อมูล variable_type ไปภาษา ArrayName array ชื่อที่ได้รับการพิจารณารูปแบบอาร์เรย์สองมิติ x แถว, คอลัมน์ Y, ตัวเลขต่อไปนี้แสดงให้เห็นถึงอาร์เรย์สองมิติของแถวที่สามและสี่คอลัมน์:
สองมิติองค์ประกอบมากมายที่สามารถเข้าถึงได้ผ่านทาง [I] [เจ]
สองมิติเริ่มต้น array
อาร์เรย์หลายมิติอาจจะเป็นค่าเริ่มต้นโดยการจัดฟัน ตัวอย่างต่อไปนี้เป็นอาร์เรย์สองมิติ 3 แถวและคอลัมน์ที่สี่:
a = [3][4]int{ {0, 1, 2, 3} , /* 第一行索引为 0 */ {4, 5, 6, 7} , /* 第二行索引为 1 */ {8, 9, 10, 11} /* 第三行索引为 2 */ }
อาร์เรย์มิติการเข้าถึง
อาร์เรย์สองมิติเข้าถึงได้โดยการระบุพิกัด ในฐานะที่เป็นดัชนีอาร์เรย์แถวและคอลัมน์ดัชนีตัวอย่างเช่น:
int val = a[2][3]
ตัวอย่างข้างต้นเข้าเยี่ยมชมองค์ประกอบที่สี่ของแถวที่สามของอาร์เรย์สองมิติ Val
อาร์เรย์สองมิติสามารถใช้ในการส่งออกองค์ประกอบวงที่ซ้อนกัน:
package main import "fmt" func main() { /* 数组 - 5 行 2 列*/ var a = [5][2]int{ {0,0}, {1,2}, {2,4}, {3,6},{4,8}} var i, j int /* 输出数组元素 */ for i = 0; i < 5; i++ { for j = 0; j < 2; j++ { fmt.Printf("a[%d][%d] = %d\n", i,j, a[i][j] ) } } }
เรียกเอาท์พุทตัวอย่างข้างต้นคือ
a[0][0] = 0 a[0][1] = 0 a[1][0] = 1 a[1][1] = 2 a[2][0] = 2 a[2][1] = 4 a[3][0] = 3 a[3][1] = 6 a[4][0] = 4 a[4][1] = 8