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 = 56Ta 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)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
GolangTự 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
1Giới thiệu
Giới thiệu4Ôn tập các hàm xử lý chuỗi trong Go
Chuỗi trong GolangHàm nốiHàm kiểm tra chuỗi conHàm tìm chỉ sốThử thách ôn tập #1Tự luyện tập: Trình biên dịch Go online