【发布时间】:2018-04-28 00:34:25
【问题描述】:
我对在 Go 中通过引用和值传递有点困惑。
我已经看到对类型前面的 * 的解释。
- 在类型名称前面,表示声明的变量将存储该类型的另一个变量的地址(不是该类型的值) 类型)。
这对我来说没有意义。
在 Java 中,如果我将数据库实例传递给函数,我会这样做
databaseFunction(DatabaseType db) {
// do something
}
但是在 go 示例中,我已经通过了。
func PutTasks(db *sql.DB) echo.HandlerFunc {
}
为什么我们需要在类型前面加上星号?
根据这个备忘单,我找到了。
func PrintPerson(p *Person) 只接收指针地址 (参考)
我不明白为什么我只想发送一个指针地址作为参数。
【问题讨论】: