Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Trong Go, mảng được sử dụng để lưu trữ một tập hợp dữ liệu có độ dài cố định cùng loại. Để quản lý dữ liệu này một cách hiệu quả, bạn thường cần truyền mảng cho các hàm. Ở bài viết này, chúng ta sẽ tìm hiểu cách truyền mảng cho hàm trong Golang.

Ví dụ:
package main
import "fmt"
// Hàm tính trung bình của một mảng
func calculateAverage(arr [6]int, size int) int {
var sum int
for _, value := range arr {
sum += value
}
return sum / size
}
func main() {
scores := [6]int{67, 59, 29, 35, 4, 34}
average := calculateAverage(scores, len(scores))
fmt.Printf("%d\n", average)
}
Kết quả:
38
Trong ví dụ này, hàm calculateAverage() lấy một mảng số nguyên và kích thước của nó làm đối số. Nó tính toán giá trị trung bình của các phần tử mảng và trả về giá trị đó. Hàm chính khởi tạo một mảng có tên là scores và gọi hàm tính giá trị trung bình.
Các điểm chính:
Khai báo mảng:
Sử dụng cú pháp var arrayName [size]type để khai báo một mảng.
var numbers [5]int // Một mảng gồm 5 số nguyên
Truyền mảng:
Trong Go, mảng được truyền cho hàm theo giá trị, nghĩa là hàm nhận được một bản sao của mảng. Những thay đổi được thực hiện bên trong hàm không ảnh hưởng đến mảng gốc.
Con trỏ để sửa đổi mảng gốc:
Nếu muốn sửa đổi mảng gốc, bạn nên truyền một con trỏ đến mảng đó.
func modifyArray(arr *[5]int) {
for i := range arr {
arr[i] += 10 // Tăng mỗi phần tử lên 10
}
}
Ví dụ:
package main
import "fmt"
// Hàm tăng mỗi phần tử của mảng này
func incrementArray(arr *[5]int) {
for i := range arr {
arr[i]++ // Increment each element by 1
}
}
func main() {
values := [5]int{1, 2, 3, 4, 5}
// Chỉnh sửa mảng
incrementArray(&values)
fmt.Println("Incremented array:", values)
}
Kết quả:
Mảng tăng dần: [2 3 4 5 6]
Truyền mảng cho các hàm trong Go cho phép quản lý dữ liệu hiệu quả. Hiểu cách truyền và sửa đổi mảng sẽ giúp bạn viết các chương trình Go hiệu quả.
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Tìm hiểu sâu dữ liệu phân tích bằng AI
Cách tích hợp Discord Webhook credential trong n8n
Hướng dẫn tạo nhân vật đồng bộ giọng nói trên Flow
Tạo ảnh chibi 3D fanpage theo ngành nghề cực hot
Hướng dẫn tạo báo cáo kế hoạch từ ghi chú trên NotebookLM
Hướng dẫn căn chỉnh văn bản theo đúng NĐ 30
Từ phiên bản mới, BYOK có thể hoạt động ngay cả khi người dùng không đăng nhập tài khoản. Điều này có nghĩa là các tính năng như AI Chat, tool calling, MCP server, và AI agent workflow… đều có thể vận hành trong những môi trường bị hạn chế kết nối ho
Hướng dẫn tải voice có sẵn trên ChatGPT
Lập bản đồ hành trình khách hàng với sự hỗ trợ từ AI
Cách thiết lập Youtube node trên n8n
Phân tích cạnh tranh trong nghiên cứu khách hàng với AI
Prompt tạo poster ô tô bằng AI cực kỳ ấn tượng
Hướng dẫn thay trang phục chuyên nghiệp bằng Mask Magic trên Flow
Xây dựng MCP server đầu tiên
Phân tích chuyên sâu về các công cụ MCP: Những hàm mà AI có thể gọi
Resources và Prompts: Hai yếu tố cơ bản còn lại trong MCP
MCP server thực tế: Database, API và file
Hướng dẫn bật phụ đề AI gọi video trên Zalo
Bảo mật, xác thực và triển khai MCP