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
Karaoke Đơn côi (Beat Midi )
Hướng dẫn dùng thư viện quản lý tập tin trên ChatGPT
Hướng dẫn chuyển PPT/PDF thành video bằng HeyGen
Giải thích những thuật ngữ ai phổ biến nhất hiện nay
Định tuyến sub-agent và chế độ Think-Max
Hướng dẫn cài đặt Tiện ích mở rộng trong Cursor
Hướng dẫn tự lấy prompt hình ảnh bất kỳ
Các giao thức và giao tiếp agent
Điều phối trong hệ thống AI multi-agent: Tuần tự, song song và phân cấp
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Prompt tạo thư chia tay học sinh cuối năm học
Hướng dẫn viết phiếu đánh giá viên chức cuối năm
Cách chỉnh ảnh đồ ăn ảo diệu ngay trên Canva
Cách chỉnh ảnh đồ ăn ảo diệu ngay trên Canva
Kỹ thuật tạo ngữ cảnh cho AI Agent
Các mô hình kỹ thuật tạo ngữ cảnh trong thực tế
5 cuốn sách hay nhất giúp xây dựng Agentic AI system trong năm 2026
Google Gemini Omni: Biến mọi thứ thành video
Hướng dẫn viết phiếu đánh giá viên chức cuối năm
Cách tạo ảnh nam châm tủ lạnh cực hot với AI