2024-02-20 09:59AM
参考:http://siwei.me/blog/posts/go-func-func-u-users-getcalculationresults-calculationresults-error
函数声明前面的括号表示该函数是属于某个类型的方法。在这种情况下,函数是Users
类型的方法,即GetCalculationResults()
是Users
类型的方法。
func 后面的第一个括号: (u *Users) 表示,该函数只能通过Users
类型的实例进行调用。
eg :
type Users struct {
Name string
Age int
}
func (u *Users) GetCalculationResults() ([]CalculationResults, error) {
// 方法的实现
}
在这个示例中,GetCalculationResults()
是 Users
类型的方法。这意味着只能通过 Users
类型的实例来调用该方法
eg:
var user User
...
user.GetCalculationResults(....)
或者
user := Users{Name: "John", Age: 30}
results, err := user.GetCalculationResults()
在上述示例中,我们创建了一个 Users
类型的实例 user
,然后通过该实例调用了 GetCalculationResults()
方法。
所以,当说一个函数的caller必须是Users
时,意味着该函数只能通过 Users
类型的实例进行调用,而不能通过其他类型的实例或者直接调用。
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论