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
Quản lý tài liệu trong kho kiến thức ElevenAgents
Generative Orchestration trong Copilot Studio: Cách agent đưa ra quyết định
Cách chỉnh sửa và nâng cấp câu hỏi bằng Wayground AI
Cách kết nối Claude với Gamma tạo website, slide thuyết trình
Hướng dẫn lọc và xóa thư với Plugin Gmail trong ChatGPT
11 trang web xem phim miễn phí vẫn hoạt động vào năm 2026
Hướng dẫn dùng Wayground AI để tạo bài kiểm tra
Hướng dẫn sử dụng Claude Slides tạo bài thuyết trình
Cách dùng plugin Wayground với ChatGPT
Ký tự khoảng trống FF là gì? Cách tạo tên trống trong Free Fire
Nâng cao khả năng ElevenAgents bằng cơ sở kiến thức quy mô lớn sử dụng RAG
100 ChatGPT/Gemini code giúp bạn chỉnh sửa ảnh như một chuyên gia
Cách thêm nhiều tài khoản Gmail vào plugin Gmail trên ChatGPT
Claude Design là gì? Cách dùng Claude Design thiết kế giao diện web
Làm sao để không còn nhận được những câu trả lời chung chung khi nhập prompt vào Claude nữa?
Hướng dẫn quản lý và ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn thiết lập thông báo giờ nghỉ trên Claude
Cách viết chữ kiểu FB: chữ in đậm, chữ 𝒏𝒈𝒉𝒊𝒆̂𝒏𝒈, đổi font chữ Facebook
Agent hỗ trợ nhiều giọng nói trong ElevenAgents
Kết hợp các kỹ thuật tạo prompt để thực hiện dự án thực tế
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows
Hướng dẫn 8 cách mở bàn phím ảo trên Windows 10