接收者和参数的区别

在 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) 是参数。
参数是你在调用函数时需要手动传入的数据。
函数通过这些参数来获取外部信息或进行处理。

posted @ 2025-07-17 16:15  Charlie-Pang  阅读(8)  评论(0)    收藏  举报