Nội dung bài viết
Khai báo hàm trong Go
Một hàm có thể trả về một hoặc nhiều giá trị. Hãy xem ba hàm sau: một hàm không có giá trị trả về, một hàm trả về một giá trị, một hàm trả về hai giá trị.
func log(message string) {
}
func add(a int, b int) int {
}
func power(name string) (int, bool) {
}
Chúng ta sử dụng hàm cuối cùng như sau:
value, exists := power("goku")
if exists == false {
// xử lý trường hợp có lỗi
}
Thi thoảng, bạn chỉ quan tâm đến một trong số các giá trị trả về. Trong trường hợp này, bạn gán các giá trị khác là _
:
_, exists := power("goku")
if exists == false {
// xử lý trường hợp có lỗi
}
Điều này không phải chỉ là một quy ước. _
, (blank identifier), đại diện cho giá trị trả về không được gán. Nó cho phép bạn sử dụng _
mọi chỗ, bất kể kiểu dữ liệu trả về là gì.
Cuối cùng, có một lưu ý trong khi khai báo hàm, nếu các tham số của hàm có cùng một kiểu dữ liệu, thì có thể dụng cú pháp dạng ngắn để viết:
func add(a, b int) int {
}
Hàm có thể trả về nhiều giá trị được sử dụng thường xuyên. Bạn cũng sẽ thường xuyên sử dụng _
để loại bỏ một giá trị.