Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Mảng - Array trong ngôn ngữ lập trình Golang hay Go khá giống với các ngôn ngữ lập trình khác. Dưới đây là những điều bạn cần biết về mảng trong Golang.
Trong chương trình, đôi khi chúng ta cần lưu trữ một tập hợp dữ liệu cùng loại, như danh sách điểm của học sinh. Kiểu tập hợp như vậy được lưu trữ trong chương trình bằng cách sử dụng Mảng. Mảng là một chuỗi có độ dài cố định được sử dụng để lưu trữ các phần tử đồng nhất trong bộ nhớ. Do có độ dài cố định nên mảng không phổ biến như Slice trong ngôn ngữ Go. Trong một mảng, bạn được phép lưu trữ 0 hoặc nhiều hơn 0 phần tử trong đó. Các phần tử của mảng được lập chỉ mục bằng cách sử dụng toán tử chỉ mục [] với vị trí bắt đầu từ 0 của chúng, nghĩa là chỉ mục của phần tử đầu tiên là mảng [0] và chỉ mục của phần tử cuối cùng là mảng [len (mảng) - 1].
Trong ngôn ngữ Go, mảng được tạo theo hai cách khác nhau:
Sử dụng từ khóa var: Trong ngôn ngữ Go, mảng được tạo bằng từ khóa var của một kiểu cụ thể với tên, kích thước và phần tử. Cú pháp:
Var array_name[length]Type
Lưu ý quan trọng:
Trong ngôn ngữ Go, mảng có thể thay đổi, do đó bạn có thể sử dụng cú pháp array[index] ở phía bên trái của phép gán để đặt các phần tử của mảng tại chỉ mục đã cho.
Var array_name[index] = element
Cách tiếp cận 1: Sử dụng khai báo viết tắt:
Trong ngôn ngữ Go, mảng cũng có thể khai báo bằng cách sử dụng khai báo viết tắt. Nó linh hoạt hơn so với khai báo ở trên.
Cú pháp:
array_name:= [length]Type{item1, item2, item3,...itemN}
Ví dụ:
// Chương trình Go minh họa cách tạo //một mảng sử dụng khai báo viết tắt // và truy cập vào các yếu tố của // mảng bằng vòng lặp for package main import "fmt" func main() { // Khai báo viết tắt của mảng arr:= [4]string{"geek", "gfg", "Geeks1231", "GeeksforGeeks"} // Truy cập các phần tử của //mảng dùng vòng lặp for fmt.Println("Elements of the array:") for i:= 0; i < 3; i++{ fmt.Println(arr[i]) } }
Kết quả:
Elements of the array: geek gfg Geeks1231
Như chúng ta đã biết, mảng là 1 chiều nhưng bạn được phép tạo mảng đa chiều trong Golang. Mảng đa chiều là mảng của các mảng cùng loại. Trong ngôn ngữ Go, bạn có thể tạo mảng đa chiều bằng cú pháp sau:
Array_name[Length1][Length2]..[LengthN]Type
Bạn có thể tạo một mảng đa chiều bằng cách sử dụng từ khóa Var hoặc sử dụng khai báo viết tắt như trong ví dụ dưới đây.
Lưu ý: Trong mảng đa chiều, nếu một ô không được người dùng khởi tạo bằng một giá trị nào đó, thì nó sẽ tự động được trình biên dịch khởi tạo bằng số không. Không có khái niệm nào chưa được khởi tạo trong Golang.
Ví dụ:
// Go program to illustrate the // concept of multi-dimension array package main import "fmt" func main() { // Creating and initializing // 2-dimensional array // Using shorthand declaration // Here the (,) Comma is necessary arr := [3][3]string{{"C #", "C", "Python"}, {"Java", "Scala", "Perl"}, {"C++", "Go", "HTML"}} // Accessing the values of the // array Using for loop fmt.Println("Elements of Array 1") for x := 0; x < 3; x++ { for y := 0; y < 3; y++ { fmt.Println(arr[x][y]) } } // Tạo mảng 2 chiều // bằng từ khóa var // và khởi tạo // -một mảng đa chiều bằng index var arr1 [2][2]int arr1[0][0] = 100 arr1[0][1] = 200 arr1[1][0] = 300 arr1[1][1] = 400 // Truy cập các giá trị của mảng fmt.Println("Elements of array 2") for p := 0; p < 2; p++ { for q := 0; q < 2; q++ { fmt.Println(arr1[p][q]) } } }
Kết quả:
Elements of Array 1 C# C Python Java Scala Perl C++ Go HTML Elements of array 2 100 200 300 400
Lưu ý quan trọng về mảng trong Golang:
Trong một mảng, nếu một mảng không được khởi tạo rõ ràng, thì giá trị mặc định của nó bằng 0.
Ví dụ:
// Chương trình Go minh họa một mảng package main import "fmt" func main() { // Tạo một mảng kiểu int // chứa 2 thành phần // Tại đây chúng ta không khởi tạo //mảng, vì thế giá trị của mảng // bằng 0 var myarr [2]int // In mảng fmt.Println("Elements of the Array: ", myarr) }
Kết quả:
Elements of the Array : [0 0]
Trong một mảng, bạn có thể tìm độ dài của mảng bằng phương thức len() như được hiển thị bên dưới:
Ví dụ:
// Chương trình Go minh họa cách tìm // chiều dài của mảng package main import "fmt" func main() { // Tạo mảng // bằng khai báo viết tắt arr1:= [3]int{9,7,6} arr2:= [...]int{9,7,6,4,5,3,2,4} arr3:= [3]int{9,3,5} // Tìm chiều dài của // mảng bằng phương thức len fmt.Println("Length of the array 1 is:", len(arr1)) fmt.Println("Length of the array 2 is:", len(arr2)) fmt.Println("Length of the array 3 is:", len(arr3)) }
Kết quả
Length of the array 1 is: 3 Length of the array 2 is: 8 Length of the array 3 is: 3
Trong một mảng, nếu dấu ba chấm ‘‘…’’ xuất hiện ở vị trí length, thì độ dài của mảng được xác định bởi các phần tử được khởi tạo. Như thể hiện trong ví dụ bên dưới:
Ví dụ:
// Chương trình Go minh họa // khái niệm ba chấm trong một mảng package main import "fmt" func main() { // Tạo mảng có kích thước đã được xác định // bởi số phần tử nằm ở bên trong // Dùng ellipsis myarray:= [...]string{"GFG", "gfg", "geeks", "GeeksforGeeks", "GEEK"} fmt.Println("Elements of the array: ", myarray) // Chiều dài của mảng // được quyết định bởi // Dùng phương thức len() method fmt.Println("Length of the array is:", len(myarray)) }
Kết quả:
Elements of the array: [GFG gfg geeks GeeksforGeeks GEEK] Length of the array is: 5
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn