登录
首页 >  Golang >  Go问答

浅析Golang中怎么表示可选字符串

来源:Golang技术栈

时间:2023-03-03 20:58:05 369浏览 收藏

从现在开始,努力学习吧!本文《浅析Golang中怎么表示可选字符串》主要讲解了golang等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

我希望建模一个可以有两种可能形式的值:缺席或字符串。

执行此操作的自然方法是使用Maybe String, or Optional, orstring option等。但是,Go 没有这样的变体类型。

然后我想,在 Java、C 等之后,替代方案将是可空性,或者nil在 Go 中。但是,在 Gonil中不是类型的成员。string

搜索,然后我想使用 type *string。这可以工作,但看起来很尴尬(例如,我不能以与获取结构文字地址相同的方式获取字符串文字的地址)。

在 Go 中为这样的值建模的惯用方法是什么?

正确答案

您可以使用类似的东西sql.NullString,但我个人会坚持使用*string. 至于尴尬,确实不能只是sp := &"foo"不幸。但是有一个解决方法

func strPtr(s string) *string {
    return &s
}

调用strPtr("foo")应该是内联的,所以它是有效的&"foo".

另一种可能性是使用new

sp := new(string)
*sp = "foo"

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《浅析Golang中怎么表示可选字符串》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表