METHOD · RECEIVER Cơ bản CA 01 / 07

Cái (l *Library) trước tên hàm là gì?

Hệ thống quản lý thư viện sách:

type Library struct {
    Books map[string]int // ISBN -> số lượng còn
}

func (l *Library) Borrow(isbn string) error {
    if l.Books[isbn] <= 0 {
        return fmt.Errorf("hết sách %s", isbn)
    }
    l.Books[isbn]--
    return nil
}

(l *Library) trước tên hàm Borrow gọi là gì, vai trò giống khái niệm nào ở ngôn ngữ OOP khác?