Go函数参数
有人能帮助澄清1.什么和2.为什么使用上述功能吗?从和书中,我可以看出VerifyEmail将EmailAddress作为一个参数,并将我认为是内存地址的内容返回给用户名Go函数参数,go,Go,有人能帮助澄清1.什么和2.为什么使用上述功能吗?从和书中,我可以看出VerifyEmail将EmailAddress作为一个参数,并将我认为是内存地址的内容返回给用户名 但是,(db*数据库)做什么?我的意思是,为什么要把它放在func之后和函数名之前?与表示函数的变量相反,将内存地址作为指针传递给函数的原因可能是什么?方法名称前面的(*db Database)是,类似于其他语言的“this”,如果对象可能很大或方法可能需要更改对象,则使用指针——如果复制对象,该方法只能更改对象的副本。在Go
但是,
(db*数据库)
做什么?我的意思是,为什么要把它放在func
之后和函数名之前?与表示函数的变量相反,将内存地址作为指针传递给函数的原因可能是什么?方法名称前面的(*db Database)
是,类似于其他语言的“this”,如果对象可能很大或方法可能需要更改对象,则使用指针——如果复制对象,该方法只能更改对象的副本。在Go中,您可以使用指针方法和无指针方法定义方法。格式化感觉像是func(t*Type)
和func(t-Type)
各自
那么指针和非指针方法接收器之间有什么区别呢
a) 使用指针接收器的原因
读/写
,而不是仅仅“读”)这是receiver()方法,类似于其他语言的“this”,如果对象可能很大,或者方法可能需要更改对象,则可以使用指针。如果复制对象,则该方法只能更改对象的副本。@TwoTwo请将其粘贴在回答中,以便我可以接受它?非常感谢。有道理
func (db *Database) VerifyEmail(emailAddress string) (*data.UserName, error) {
....
}