Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
 
				Trong Golang , hàm là nhóm câu lệnh được sử dụng để thực hiện các tác vụ, với giá trị trả về tùy chọn. Go hỗ trợ hai cách chính để truyền đối số: Truyền theo giá trị và Truyền theo tham chiếu. Go mặc định sử dụng truyền theo giá trị.

Các thuật ngữ cơ bản trong truyền tham số cho hàm:
Ví dụ
package main
import "fmt"
// Cố gắng sửa đổi giá trị của num
func modify(num int) {
    num = 50
}
func main() {
    num := 20
    fmt.Printf("Before, num = %d\n", num)
    modify(num)
    fmt.Printf("After, num = %d\n", num)
}
Trong ví dụ này, num vẫn không thay đổi sau khi gọi modify vì nó được truyền theo giá trị.
Cú pháp
func functionName(param Type) {
    // function body                                        # Gọi theo giá trị
}
func functionName(param *Type) {
    // function body                                       # Gọi theo tham chiếu
}
Trong call-by-value, một bản sao của giá trị tham số thực tế được truyền qua. Những thay đổi được thực hiện trong hàm không ảnh hưởng đến biến gốc.
Cú pháp
func functionName(param Type) {
    // function body
}
Ví dụ:
package main
import "fmt"
// Chỉnh sửa giá trị của num
func modify(num int) {
    num = 50
}
func main() {
    num := 20
    fmt.Printf("Before, num = %d\n", num)
    modify(num)
    fmt.Printf("After, num = %d\n", num)
}
Kết quả:
Before, num = 20 After, num = 20
Giá trị vẫn giữ nguyên, vì các thay đổi bên trong modify không ảnh hưởng đến num trong main.
Trong call-by-reference, một con trỏ đến tham số thực tế được truyền, do đó bất kỳ thay đổi nào bên trong hàm đều phản ánh trên biến gốc.
Cú pháp
func functionName(param *Type) {
    // function body
}
Ví dụ:
package main
import "fmt"
// Chỉnh sửa giá trị của num qua tham chiếu
func modify(num *int) {
    *num = 50
}
func main() {
    num := 20
    fmt.Printf("Before, num = %d\n", num)
    modify(&num)
    fmt.Printf("After, num = %d\n", num)
}
Kết quả
Before, num = 20 After, num = 50
Vì num được truyền theo tham chiếu nên lệnh modify sẽ thay đổi giá trị của nó, điều này được phản ánh trong lệnh main.
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
 Chào ngày mới thứ 6, lời chúc thứ 6 vui vẻ
        Chào ngày mới thứ 6, lời chúc thứ 6 vui vẻ
     Hàm COUNTIFS, cách dùng hàm đếm ô theo nhiều điều kiện trong Excel
        Hàm COUNTIFS, cách dùng hàm đếm ô theo nhiều điều kiện trong Excel
     5 ứng dụng từng rất cần thiết cho đến khi Windows khiến chúng trở nên vô nghĩa
        5 ứng dụng từng rất cần thiết cho đến khi Windows khiến chúng trở nên vô nghĩa
     Cách dùng Terabox lưu trữ với 1TB miễn phí
        Cách dùng Terabox lưu trữ với 1TB miễn phí
     Sóng trong bão
        Sóng trong bão
     Cách mở Control Panel trên Windows 11
        Cách mở Control Panel trên Windows 11
     Tạo Button trong CSS
        Tạo Button trong CSS
     Giải thích ý nghĩa màu sắc của cổng USB
        Giải thích ý nghĩa màu sắc của cổng USB
     Cách tùy chỉnh Taskbar trong Windows
        Cách tùy chỉnh Taskbar trong Windows
     Cách luôn mở ứng dụng với quyền admin trên Windows 11
        Cách luôn mở ứng dụng với quyền admin trên Windows 11
     Cách tắt tìm kiếm nổi bật trong Windows 11
        Cách tắt tìm kiếm nổi bật trong Windows 11
     Firefox sắp nhận được tính năng thông minh khiến người dùng Chrome cũng phải ghen tị
        Firefox sắp nhận được tính năng thông minh khiến người dùng Chrome cũng phải ghen tị
     Vì sao âm thanh lại là yếu tố quan trọng nhất của chuột máy tính?
        Vì sao âm thanh lại là yếu tố quan trọng nhất của chuột máy tính?
     Cách khắc phục lỗi bo mạch chủ hiện đèn báo màu đỏ
        Cách khắc phục lỗi bo mạch chủ hiện đèn báo màu đỏ
     Làm thế nào để tư duy như người giàu? 13 thói quen sẽ thay đổi cuộc đời bạn
        Làm thế nào để tư duy như người giàu? 13 thói quen sẽ thay đổi cuộc đời bạn
     Cách kiểm tra phiên bản Python trên Windows, Mac và Linux
        Cách kiểm tra phiên bản Python trên Windows, Mac và Linux
     Hướng dẫn đổi mật khẩu tài khoản Windows 11
        Hướng dẫn đổi mật khẩu tài khoản Windows 11
     Cách tạo bản sao dữ liệu trong MS SQL Server
        Cách tạo bản sao dữ liệu trong MS SQL Server
     Phải làm gì khi không thể thêm lịch vào Outlook?
        Phải làm gì khi không thể thêm lịch vào Outlook?
     Hướng dẫn đăng ký lại Start Menu Windows 11
        Hướng dẫn đăng ký lại Start Menu Windows 11
    