Go Parameters/Arguments

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ố ab, 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à 57.

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.