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
Karaoke Người Đó Tôi Đây Tình Đâu(Midi)
Chuyển tin nhắn Messenger thành bài hát trong nháy mắt
Cách xây dựng game nhiều người chơi với Claude Opus 5.5
Cách xem thời tiết trong ChatGPT với AccuWeather để lên kế hoạch
Karaoke Lạnh (Midi)
Cách kết nối ElevenLabs AI agent với Exa
Thiết lập cách ChatGPT thông báo cho bạn khi có công việc cần chú ý
TOP phần mềm OCR scan tài liệu có tích hợp AI tốt nhất
6 trang web tạo mật khẩu ngẫu nhiên an toàn đáng tin cậy
TOP nền tảng xây dựng công cụ nội bộ có tích hợp AI
TOP phần mềm AI bảo mật Internet tốt nhất hiện nay
Biến các ý tưởng thành giải thích trực quan, tương tác trong ChatGPT
TOP tiện ích mở rộng AI cho VS Code tốt nhất
Cách tạo website Portfolio miễn phí bằng ChatGPT
6 lựa chọn thay thế Visual Studio Code tốt nhất có tích hợp AI
Tạo form hỏi đáp tương tác trong vài phút và prompt chỉnh sửa
Hướng dẫn sử dụng Google Slides trong Claude
Hướng dẫn sử dụng Wolfram trong ChatGPT giải toán nâng cao
15 prompt AI thú vị cho ngày lễ Halloween
Hoàn thiện một thiết kế thực tế với ChatGPT + Canva
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
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
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
Cách sửa lỗi There Are Currently No Power Options Available Windows
Claude Code thực sự có giá bao nhiêu?
Hướng dẫn 8 cách mở bàn phím ảo trên Windows 10
5 tài liệu hay nhất giúp bạn làm chủ Small Language Model (SLM) năm 2026