Cách chuyển một mảng vào một hàm trong Golang

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.

Chuyển mảng vào 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

Giải thích chi tiết về cách chuyển mảng vào hàm trong Golang

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
    }
}

Chỉnh sửa một mảng trong Golang

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ả.

Thứ Tư, 14/05/2025 15:44
31 👨 54
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖
    Chia sẻ
    Chia sẻ FacebookChia sẻ Twitter
    Đóng