Giới Thiệu về Tham Số và Đối Số trong Go
Trong ngôn ngữ lập trình Go, tham số (parameters) và đối số (arguments) là hai khái niệm cơ bản khi làm việc với hàm. Hiểu rõ về chúng giúp bạn viết mã hiệu quả và dễ bảo trì hơn.
Định Nghĩa
Tham số là biến được khai báo trong định nghĩa của hàm. Chúng đóng vai trò như một "đầu vào" mà hàm sẽ sử dụng khi được gọi. Đối số, ngược lại, là giá trị mà bạn truyền vào hàm khi gọi hàm đó.
Cú Pháp
Cú pháp để định nghĩa một hàm với tham số trong Go như sau:
func TenHanhDong(thamSo1 Kieu1, thamSo2 Kieu2, ...) { // Thân hàm }
Trong đó, TenHanhDong
là tên của hàm và Kieu
là kiểu dữ liệu của tham số.
Ví Dụ
Dưới đây là một ví dụ đơn giản về một hàm tính tổng hai số với tham số và đối số:
package main import ( "fmt" ) // Định nghĩa hàm với tham số func tinhTong(a int, b int) int { return a + b } func main() { // Gọi hàm với các đối số tong := tinhTong(5, 7) fmt.Println("Tổng là:", tong) }
Trong ví dụ này, tinhTong
là hàm nhận hai tham số a
và b
, cả hai đều có kiểu dữ liệu là int
. Khi gọi hàm trong hàm main
, chúng ta truyền vào hai đối số là 5
và 7
.
Chuyển Tham Số Tham Chiếu
Go cũng cho phép chuyển tham số là con trỏ (pointer). Điều này rất hữu ích khi bạn muốn thay đổi giá trị của biến trong hàm. Dưới đây là một ví dụ:
package main import ( "fmt" ) func tangGiaTri(x *int) { *x++ } func main() { a := 10 fmt.Println("Giá trị ban đầu:", a) tangGiaTri(&a) // Truyền địa chỉ của a fmt.Println("Giá trị sau khi tăng:", a) }
Trong ví dụ này, hàm tangGiaTri
nhận tham số là một con trỏ đến một số int
. Khi chúng ta thực hiện thao tác tăng giá trị, giá trị của biến a
trong hàm main
cũng thay đổi.
Kết Luận
Tham số và đối số là những phần quan trọng trong lập trình với Go. Việc hiểu rõ về cách sử dụng chúng không chỉ giúp bạn viết mã rõ ràng hơn mà còn giúp bạn tận dụng tối đa khả năng của ngôn ngữ này.