Menu
CoddyTech

Phương thức và hàm

Thuộc phần Logic và luồng điều khiển trong hành trình GO của Coddy. Bài học 10 trên 68.

Mặc dù cả phương thức (method) và hàm (function) đều thực hiện các thao tác trong Go, chúng có mục đích khác nhau và cách khai báo riêng. Hiểu rõ sự khác biệt này rất quan trọng để viết code rõ ràng, có tổ chức.

Một hàm hoạt động độc lập. Nó không thuộc về kiểu dữ liệu cụ thể nào:

func calculateArea(width, height float64) float64 {
    return width * height
}

Phương thức (method) được gắn với một kiểu cụ thể thông qua một receiver. Phương thức thuộc về kiểu đó và có thể truy cập dữ liệu của kiểu:

func (r Rectangle) area() float64 {
    return r.Width * r.Height
}

Điểm khác biệt chính nằm ở cách bạn gọi chúng. Bạn gọi hàm (function) trực tiếp bằng tên, còn phương thức thì gọi trên các instance thuộc kiểu dữ liệu tương ứng bằng ký hiệu chấm. Mối liên kết này khiến phương thức phù hợp để định nghĩa các hành vi vốn thuộc về những kiểu dữ liệu tùy chỉnh của bạn, còn hàm phù hợp với các thao tác dùng chung không cần gắn với cấu trúc dữ liệu cụ thể.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng điều khiển

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