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 văn bản tốt nhất
Top 4 công cụ AI tìm kiếm local thay thế Perplexity hoàn hảo
Mẹo dùng 4 bước xác minh nguồn tin khi dùng AI Search
Cách đồng bộ dữ liệu giữa ChatGPT và Claude
TOP những dịch vụ thư điện tử tích hợp AI
TOP lựa chọn thay thế Google Flow tốt nhất
TOP công cụ AI thiết kế đồ họa trên trình duyệt web
Hướng dẫn tạo và chia sẻ slide AI trên Gamma
TOP ứng dụng AI chỉnh eo thon gọn đẹp nhất
Cách thay đổi ngôn ngữ trong ChatGPT
TOP công cụ AI pháp luật giúp tra cứu luật và giải đáp pháp lý
Cursor là gì?
Cách đồng bộ ngữ cảnh giữa ChatGPT, Claude, Gemini với ThreadPort
Hướng dẫn dùng Gemini Live chat bằng giọng nói
Hướng dẫn tạo ảnh thời khóa biểu chỉ bằng 1 câu lệnh
TOP công cụ AI cải thiện chất lượng video
Hướng dẫn chỉnh sửa video trong Google Flow
5 lợi ích của Google AI Pro mà nhiều người chưa tận dụng
7 ý tưởng prompt viết bài bằng AI giúp thúc đẩy quy trình sáng tạo nội dung
5 cách sáng tạo để sử dụng LLM