Menu
CoddyTech

Tham số của hàm

Bài học 5 trên 19 trong khóa học Hàm và con trỏ trong Go của Coddy.

Trong bài học trước, chúng ta đã viết hàm đầu tiên, một hàm đơn giản không nhận tham số nào; hàm chỉ in một thông báo ra màn hình.

Giờ hãy tưởng tượng chúng ta muốn tạo một hàm tính tổng của hai giá trị. Làm thế nào để thực hiện? Chúng ta có thể làm như sau:

func sum() {
    fmt.Println("result = ", value1 + value2)
}

Điều này khá dễ hiểu, phải không? Ở đây, chúng ta chỉ cộng hai giá trị rồi in kết quả. Nhưng có một vấn đề: value1 và value2 chưa được định nghĩa. Hàm này sẽ biết cần tính tổng những giá trị nào bằng cách nào? Đây là lúc cần đến đối số hoặc tham số. Ta đặt các tham số mà hàm sẽ nhận vào trong dấu ngoặc đơn, như sau:

func sum(v1, v2 int) {
    fmt.Println("result =", v1+v2)
}

Với cú pháp sum(v1, v2 int), ta cho biết hàm này sẽ nhận hai giá trị kiểu int, và ta có thể làm bất cứ điều gì cần thiết với chúng bên trong thân hàm. Trong ví dụ này, ta chỉ in tổng của hai giá trị bằng fmt.Println("result = ", v1 + v1).

Khi gọi hàm này, ta sẽ truyền vào hai giá trị tùy ý, rồi hàm sẽ tính tổng giúp ta:

func main() {
    sum(12, 44)
}

Đầu ra sẽ là:

result = 56

Ta có thể gọi hàm này tùy ý. Ví dụ:

func main() {
    sum(12, 44)
    sum(100, 399)
}

Đầu ra sẽ là:

result = 56
result = 400

Ở đây, ta chỉ đưa ra ví dụ với kiểu số nguyên, nhưng tùy tình huống, tham số có thể thuộc bất kỳ kiểu nào. Ta cũng có thể dùng các kiểu khác nhau trong cùng một hàm, ví dụ:

functionName(v1 int, v2 string)
challenge icon

Thử thách

Dễ

Viết một hàm tên là coddy nhận hai đối số: s có kiểu string và n có kiểu int, rồi in chuỗi s ra màn hình n lần.

Ví dụ:

Đầu vào: s = "Golang" và n = 2

Đầu ra:

Golang
Golang

Tự làm thử

import "fmt"

// Viết code của bạn ở đây

Tất cả bài học trong Hàm và con trỏ trong Go

Tự luyện tập: Trình biên dịch Go online