我希望对一个值进行建模,该值可以有两种可能的形式:不存在或字符串。
这样做的自然方法是使用Maybe String
、 或Optional<String>
、 或string option
等。但是,Go 没有这样的变体类型。
然后我想,继 Java、C 等之后,替代方案是可空性,或者nil
在 Go 中。但是,nil
不是string
Go 中类型的成员。
搜索,然后我想到使用 type *string
。这可以工作,但看起来很尴尬(例如,我不能以与获取结构文字地址相同的方式获取字符串文字的地址)。
在 Go 中对这样的值进行建模的惯用方法是什么?
倚天杖
千万里不及你
心有法竹
相关分类