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
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
Cách sử dụng ChatGPT tự động xử lý, trả lời thư mời họp Gmail trong tích tắc
So sánh hệ sinh thái Microsoft Copilot: Nên chọn công cụ nào?
Top 10 công cụ AI viết content tốt nhất năm 2026
Hướng dẫn fix lỗi “It’s Not You, It’s Me” trên Copilot
Cách cấu hình Claude Code Hooks giúp tự động định dạng và kiểm thử code
Cách tự động hóa email hoàn toàn với Grok Bot
TOP công cụ AI chỉnh sửa file PDF tốt nhất
7 công cụ AI mã nguồn mở có thể thay thế các gói đăng ký trả phí
Hướng dẫn tìm địa điểm bằng bản đồ trên Gemini
Cách dùng plugin Gmail trong ChatGPT để chuẩn bị nháp email
13 công cụ AI tốt nhất để tạo tác phẩm nghệ thuật từ một bức ảnh chụp
Hướng dẫn dọn dẹp và quản lý Gmail bằng Gemini
TOP công cụ AI chỉnh sửa ảnh theo từng nhu cầu
5 cách khai thác Gemini với Google Workspace và NotebookLM
TOP Claude Connector tốt nhất cho hoạt động bán hàng
4 lựa chọn thay thế tốt nhất cho Midjourney
Hướng dẫn tạo bài thuyết trình bằng AI trên NoteGPT
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
8 mẹo hạn chế Claude vượt quá giới hạn lượt dùng
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows
Hướng dẫn 8 cách mở bàn phím ảo trên Windows 10