指针类型比结构内部的对象类型有什么用?

问题描述 投票:0回答:1

我正在运行休息服务。API调用将填充以下已通过REST调用传递给用户的结构。

type struct Body{
    param1 *string
    param2 string
}

现在,我可以在处理程序函数中处理此请求。作为处理程序函数中错误处理的一部分,我将执行以下操作,

对于param1(这是一个指针),我需要检查指针是否不为nil并且字符串的长度不应为0。

对于param2,我只需要检查字符串的长度是否应该不为0

使用字符串对象将使我使用更少的检查并编写简洁的代码。那为什么大多数人在这种情况下使用指针。

c++ pointers go sdk structure
1个回答
2
投票

使用Go语言时,声明没有初始值的变量将设置为零值,而不是null值。

  • 对于所有整数类型为0
  • “”(字符串的空字符串)>
  • 对于接口,切片,指针为零
  • 因此,当需要区分null值和零值时,您需要使用pointers,因为pointers零值是nil。 Golang不允许null,其版本为nil(某些语言允许)。

示例示例:

在像MySql“”(空字符串)和0这样的数据库中,对于字符串和int类型不是空值。如果需要在数据库中以不同的方式保存字符串“”(空字符串)和空值,则需要在请求正文结构中使用指针作为字符串。

© www.soinside.com 2019 - 2024. All rights reserved.