主页

go - func函数声明前面的括号的含义 func (u *Users) GetCalculationResults() ([]CalculationResults, error)

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 类型的实例进行调用,而不能通过其他类型的实例或者直接调用。

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论