接收者和参数的区别
在 Go 语言中,接收者(receiver) 和 参数(parameter) 是两个不同的概念,虽然它们都用于向函数传递数据,但用途和语义不同。
func (o OrderStruct) GetOrderInfo(c *gin.Context) {
ReturnSuccess(c, 200, "order list success", 10, 10)
}
(o OrderStruct) 就是接收者。
它的作用是:将这个函数绑定到某个类型上,使其成为该类型的“方法”。
在调用时,接收者会自动传入,你不需要显式传递它。
可以访问接收者所代表的结构体的字段和方法(如果有的话)。
举例:
type User struct {
Name string
}
func (u User) SayHello() {
fmt.Println("Hello,", u.Name)
}
// 使用:
user := User{Name: "Alice"}
user.SayHello() // 自动把 user 作为接收者传入
*(c gin.Context) 是参数。
参数是你在调用函数时需要手动传入的数据。
函数通过这些参数来获取外部信息或进行处理。