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
Vibe Coding là gì?
Lựa chọn công cụ Vibe Coding phù hợp
Prompt tạo ảnh móc khóa đủ thể loại với AI
Tạo prompt: Kỹ năng Vibe Coding cốt lõi
Hướng dẫn tạo giọng nói AI trên OmniVoice
Xây dựng ứng dụng đầu tiên bằng Vibe Coding
Cách tạo Personal Agent trong n8n
Hướng dẫn tạo storyboard trên Google Flow
Hướng dẫn tạo video hoạt hình 3D Disney trên Flow
Mẹo viết prompt AI đơn giản mà vẫn nhận phản hồi ưng ý
Karaoke Cứ giả vờ -Khánh Đơn
Cách kết nối Supabase với n8n - tự động hóa database workflow
Hướng dẫn tạo game xé túi mù trên ChatGPT
Hướng dẫn tạo giọng đọc AI của chính mình
Prompt học tiếng Trung trên Gemini như gia sư tại nhà
Làm thế nào để chạy AI coding agent một cách an toàn?
Chào ngày mới thứ 6, lời chúc thứ 6 vui vẻ
7 công cụ AI hỗ trợ lập mô hình tài chính cực tiện lợi
Hãy ngừng làm những việc mà máy móc có thể thực hiện thay bạn!