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
Cách viết hướng dẫn hiệu quả cho GPT tùy chỉnh
Các khả năng và thiết kế hội thoại khi xây dựng GPT tùy chỉnh
Các khả năng và thiết kế hội thoại khi xây dựng GPT tùy chỉnh
GPT Actions: Kết nối với các dịch vụ bên ngoài
TOP những cách tận dụng AI để tạo bài đăng trên mạng xã hội
TOP cách dùng Agentic AI hiệu quả trong thương mại điện tử và bán lẻ
Cách tạo video AI bằng Seedance 2.5 trên Dola AI
Quy trình kiểm thử, gỡ lỗi và tinh chỉnh GPT tùy chỉnh
TOP công cụ phát hiện nội dung AI chính xác nhất
TOP công cụ phát hiện nội dung AI chính xác nhất
TOP mẹo dùng NotebookLM để làm chủ mọi dự án
Cách tạo và chỉnh sửa ảnh bằng AI với Dola
TOP cách sử dụng Claude Cowork để tối đa hóa hiệu suất
Chào ngày mới thứ 6, lời chúc thứ 6 vui vẻ
5 công cụ AI giúp bạn thay đổi màu tóc
TOP công cụ AI xóa nền ảnh tốt nhất
TOP công cụ AI hỗ trợ Microsoft Word tốt nhất
TOP công cụ AI quản lý mật khẩu tốt nhất
Cách tự động quản lý chi phí từ Gmail sang Google Sheets bằng Claude For Chrome
Cách cắt giảm 40% chi phí sử dụng Claude Code bằng subagent