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
TOP công cụ AI tạo biểu đồ tốt nhất
Hướng dẫn xây dựng storyboard tạo video AI Google Vids
Prompt AI tạo ảnh chân dung đường phố phong cách Y2K với đèn flash iPhone
TOP công cụ AI kiểm tra SEO (SEO Audit) tốt nhất
Prompt AI tạo ảnh đường phố châu Âu sau cơn mưa cực kỳ chân thực
Claude Code thực sự có giá bao nhiêu?
Prompt thiết kế hoạt động dạy học cho các môn học
Hướng dẫn kết nối Slack vào Claude để tối ưu hóa quy trình làm việc
Google Photos AI Enhance: Tự động chỉnh sáng, màu sắc ảnh
Cách xóa chi tiết thừa trong ảnh tự động trên Google Photos
5 công cụ AI tốt nhất cho phân tích dữ liệu năm 2026
Cách tạo hình ảnh AI bằng Google Vids
AI Agent vs Chatbot SaaS: Khác nhau ở đâu?
Tìm hiểu về SUB/WAVE: Giải pháp tạo AI radio station tự host chạy trên phần cứng của riêng bạn
Lợi ích khi để Gemini quản lý các ứng dụng Samsung yêu thích của bạn
TOP lựa chọn thay thế ChatGPT Outlook Plugin tốt nhất
Cách nhập Google Slides vào Google Vids tạo video
Sau khi dạy ChatGPT, Claude và Gemini một điều sai sự thật, bạn có thể xóa bỏ không?
Gemini trong Gmail làm được gì? 4 tính năng Gmail AI hữu ích bạn nên biết