Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Trong Golang, mảng là một chuỗi có độ dài cố định chứa các phần tử của một kiểu cụ thể. Không giống như các lát cắt, mảng có kích thước không đổi, được xác định khi mảng được khai báo. Sao chép một mảng sang mảng khác rất đơn giản nhưng yêu cầu cả hai mảng phải có cùng độ dài và kiểu.

Ví dụ:
package main
import "fmt"
// Mảng cơ bản được sử dụng trong tất cả ví dụ
var source = [5]int{10, 20, 30, 40, 50}
func main() {
fmt.Println("Source Array:", source)
}
Cú pháp:
for i := 0; i < len(source); i++ {
destination[i] = source[i]
}
Go không cung cấp hàm copy() tích hợp cho mảng, do đó cách phổ biến nhất để sao chép một mảng là lặp qua từng phần tử và gán phần tử đó theo cách thủ công.
Cú pháp
for i := 0; i < len(source); i++ {
destination[i] = source[i]
}
Ví dụ:
package main
import "fmt"
var source = [5]int{10, 20, 30, 40, 50}
func main() {
// Tạo mảng đích có cùng kích thước như mảng nguồn
var destination [5]int
// Tự tay sao chép từng phần tử
for i := 0; i < len(source); i++ {
destination[i] = source[i]
}
fmt.Println("Source:", source)
fmt.Println("Destination:", destination)
}
Kết quả:
Source: [10 20 30 40 50] Destination: [10 20 30 40 50]
Bạn có thể gán một mảng cho mảng khác nếu chúng có cùng kiểu và độ dài. Phương pháp này không hoạt động với các slice.
Cú pháp
destination = source
Ví dụ
package main
import "fmt"
var source = [5]int{10, 20, 30, 40, 50}
func main() {
// Sao chép bằng cách gán trực tiếp
var destination [5]int = source
fmt.Println("Source:", source)
fmt.Println("Destination:", destination)
}
Kết quả
Source: [10 20 30 40 50] Destination: [10 20 30 40 50]
Nếu đang làm việc với các mảng lớn và muốn tránh sao chép, bạn có thể sử dụng con trỏ để tham chiếu đến mảng nguồn. Điều này sẽ không tạo ra một mảng mới nhưng sẽ trỏ đến vị trí bộ nhớ của mảng hiện có.
Cú pháp
destination = &source
Ví dụ
package main
import "fmt"
var source = [5]int{10, 20, 30, 40, 50}
func main() {
// Tạo một con trỏ tới mảng nguồn
var destination *[5]int = &source
fmt.Println("Source:", source)
fmt.Println("Destination Array via pointer:", *destination)
}
Kết quả
Source: [10 20 30 40 50] Destination Array via pointer: [10 20 30 40 50]
Lưu ý:
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Cách viết hướng dẫn hiệu quả cho GPT tùy chỉnh
Các khả năng và thiết kế hội thoại khi xây dựng GPT tùy chỉnh
Các khả năng và thiết kế hội thoại khi xây dựng GPT tùy chỉnh
GPT Actions: Kết nối với các dịch vụ bên ngoài
TOP những cách tận dụng AI để tạo bài đăng trên mạng xã hội
TOP cách dùng Agentic AI hiệu quả trong thương mại điện tử và bán lẻ
Cách tạo video AI bằng Seedance 2.5 trên Dola AI
Quy trình kiểm thử, gỡ lỗi và tinh chỉnh GPT tùy chỉnh
TOP công cụ phát hiện nội dung AI chính xác nhất
TOP công cụ phát hiện nội dung AI chính xác nhất
TOP mẹo dùng NotebookLM để làm chủ mọi dự án
Cách tạo và chỉnh sửa ảnh bằng AI với Dola
TOP cách sử dụng Claude Cowork để tối đa hóa hiệu suất
Chào ngày mới thứ 6, lời chúc thứ 6 vui vẻ
5 công cụ AI giúp bạn thay đổi màu tóc
TOP công cụ AI xóa nền ảnh tốt nhất
TOP công cụ AI hỗ trợ Microsoft Word tốt nhất
TOP công cụ AI quản lý mật khẩu tốt nhất
Cách tự động quản lý chi phí từ Gmail sang Google Sheets bằng Claude For Chrome
Cách cắt giảm 40% chi phí sử dụng Claude Code bằng subagent