gpt4 book ai didi

pointers - 将字符串指针转换为空字符串为nil的字符串

转载 作者:行者123 更新时间:2023-12-01 22:38:49 25 4
gpt4 key购买 nike

我有一个功能。它以两个变量作为字符串指针,这些参数需要传递给另一个函数。但是我需要将它们转换为字符串,如果它是空指针,则使用空字符串"",我已经实现了这一点,但是发现我的版本很麻烦。如何简化/美化?

func allMetricVolumes(start, end *string, measuredType []string, volumeUUID string) []*models.ResourceMetrics {
var startStr = ""
if start != nil {
startStr = *start
}

var endStr = ""
if end != nil {
endStr = *end
}

return database.AllDataPointsMetricVolumes(startStr, endStr, measuredType, volumeUUID)
}

编辑:

这也是我想出的一个选择,只是用来创建一个辅助函数。但是主要论点仍然存在,那就是可以缩短吗?
func stringPointerToString(input *string) string {
if input != nil {
return *input
}
return ""
}

最佳答案

您写的方式是最短的方法。

问题是,为什么func需要字符串作为指针?

看来您正在尝试使用可选参数解决问题。 database.AllDataPointsMetricVolumes函数已经允许一个空字符串。因此,如果传递值而不是指针,则可以废弃该函数并直接使用database.AllDataPointsMetricVolumes

关于pointers - 将字符串指针转换为空字符串为nil的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59501788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com