
go语言方法参数传递:值传递与引用传递
Go语言支持两种方法参数传递方式:值传递和引用传递。选择哪种方式取决于方法的预期行为和对数据的修改需求。
引用传递 (按指针传递)
使用 func test(&post) error{} 表示通过指针传递参数。方法可以直接修改原始 post 数据。这种方式适用于需要修改传入数据结构的方法,例如更新或修改现有数据。
值传递
立即学习“go语言免费学习笔记(深入)”;
使用 func test() (post Post, err error) 表示值传递。方法返回一个新的 Post 值和可能的错误。这种方式通常用于创建或获取新数据结构的构造函数或 getter 方法,原始数据不会被修改。
json.Unmarshal() 中的 v 参数类型
在 json.Unmarshal() 方法中,v 参数是一个接口类型,允许传递任何兼容类型的对象。然而,json 库需要目标对象的类型信息才能正确反序列化 JSON 数据。如果 v 的类型信息缺失,json 库将无法正确存储 JSON 值,导致错误或数据不完整。 因此,确保 v 参数具有明确的类型至关重要。










