我对在Go中的引用传递和值传递有些困惑。
我看过这个解释中关于类型前面的*号。
*号在类型名称前面表示,声明的变量将存储另一个该类型变量的地址(而不是该类型的值)。
这对我来说完全没有意义。
在Java中,如果我将一个数据库实例传递到一个函数中,我会这样做:
然而,在我提供的示例中,它是这样传递的。
为什么我们需要在类型前面加上星号呢?
根据我找到的这份备忘单。
``` func PrintPerson(p *Person) 只接收指针地址(引用) ```
我不明白为什么我只想要将指针地址作为参数传递。
我看过这个解释中关于类型前面的*号。
*号在类型名称前面表示,声明的变量将存储另一个该类型变量的地址(而不是该类型的值)。
这对我来说完全没有意义。
在Java中,如果我将一个数据库实例传递到一个函数中,我会这样做:
databaseFunction(DatabaseType db) {
// do something
}
然而,在我提供的示例中,它是这样传递的。
func PutTasks(db *sql.DB) echo.HandlerFunc {
}
为什么我们需要在类型前面加上星号呢?
根据我找到的这份备忘单。
``` func PrintPerson(p *Person) 只接收指针地址(引用) ```
我不明白为什么我只想要将指针地址作为参数传递。