Đi - Mảng

Ngôn ngữ lập trình Go cung cấp một cấu trúc dữ liệu được gọi là the array, có thể lưu trữ tập hợp tuần tự có kích thước cố định của các phần tử cùng loại. Mảng được sử dụng để lưu trữ một tập hợp dữ liệu, nhưng thường hữu ích hơn nếu coi một mảng như một tập hợp các biến cùng kiểu.

Thay vì khai báo các biến riêng lẻ, chẳng hạn như number0, number1, ... và number99, bạn khai báo một biến mảng chẳng hạn như số và sử dụng số [0], số [1] và ..., số [99] để biểu diễn các biến riêng lẻ. Một phần tử cụ thể trong một mảng được truy cập bởi một chỉ mục.

Tất cả các mảng bao gồm các vị trí bộ nhớ liền nhau. Địa chỉ thấp nhất tương ứng với phần tử đầu tiên và địa chỉ cao nhất cho phần tử cuối cùng.

Khai báo Mảng

Để khai báo một mảng trong Go, một lập trình viên chỉ định kiểu của các phần tử và số phần tử theo yêu cầu của một mảng như sau:

var variable_name [SIZE] variable_type

Đây được gọi là mảng một chiều . CácarraySize phải là một hằng số nguyên lớn hơn 0 và typecó thể là bất kỳ kiểu dữ liệu Go hợp lệ nào. Ví dụ, để khai báo một mảng 10 phần tử được gọi làbalance kiểu float32, hãy sử dụng câu lệnh này -

var balance [10] float32

Đây, balance là một mảng biến có thể chứa tối đa 10 số thực.

Khởi tạo Mảng

Bạn có thể khởi tạo mảng trong Go hoặc từng cái một hoặc sử dụng một câu lệnh đơn như sau:

var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

Số lượng giá trị giữa các dấu ngoặc nhọn {} không được lớn hơn số phần tử mà chúng ta khai báo cho mảng giữa các dấu ngoặc vuông [].

Nếu bạn bỏ qua kích thước của mảng, một mảng vừa đủ lớn để chứa quá trình khởi tạo sẽ được tạo. Do đó, nếu bạn viết -

var balance = []float32{1000.0, 2.0, 3.4, 7.0, 50.0}

Bạn sẽ tạo chính xác mảng giống như bạn đã làm trong ví dụ trước. Sau đây là một ví dụ để gán một phần tử duy nhất của mảng:

balance[4] = 50.0

Các chuyển nhượng tuyên bố số lượng phần tử 5 trên thứ trong mảng với giá trị là 50,0. Tất cả các mảng có 0 là chỉ số của phần tử đầu tiên của chúng, còn được gọi là chỉ số cơ sở và chỉ số cuối cùng của một mảng sẽ là tổng kích thước của mảng trừ đi 1. Sau đây là biểu diễn bằng hình ảnh của cùng một mảng mà chúng ta đã thảo luận ở trên:

Truy cập các phần tử mảng

Một phần tử được truy cập bằng cách lập chỉ mục tên mảng. Điều này được thực hiện bằng cách đặt chỉ số của phần tử trong dấu ngoặc vuông sau tên của mảng. Ví dụ -

float32 salary = balance[9]

Câu lệnh trên sẽ lấy phần tử thứ 10 từ mảng và gán giá trị cho biến lương. Sau đây là một ví dụ sẽ sử dụng tất cả ba khái niệm đã đề cập ở trên viz. khai báo, gán và truy cập mảng -

package main

import "fmt"

func main() {
   var n [10]int /* n is an array of 10 integers */
   var i,j int

   /* initialize elements of array n to 0 */         
   for i = 0; i < 10; i++ {
      n[i] = i + 100 /* set element at location i to i + 100 */
   }
   
   /* output each array element's value */
   for j = 0; j < 10; j++ {
      fmt.Printf("Element[%d] = %d\n", j, n[j] )
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

Xem chi tiết các mảng

Có những khái niệm quan trọng liên quan đến mảng mà một lập trình viên Go phải rõ ràng -

Sr.No Khái niệm & Mô tả
1 Mảng đa chiều

Go hỗ trợ mảng đa chiều. Dạng đơn giản nhất của mảng nhiều chiều là mảng hai chiều.

2 Truyền mảng cho các hàm

Bạn có thể chuyển cho hàm một con trỏ tới một mảng bằng cách chỉ định tên của mảng mà không có chỉ mục.