我希望对一个可以有两种可能形式的值进行建模:缺席或字符串.
实现这一点的自然方法是使用Maybe String
、Optional<String>
或string option
等.但是,围棋没有这样的变体类型.
然后,我想,继Java、C等之后,另一种 Select 将是nullability,或者nil
in Go.然而,nil
不是Go中string
类型的成员.
找了一下,我想用*string
型.这可能行得通,但似乎非常尴尬(例如,我不能像获取 struct 文本的地址那样获取字符串文本的地址).
在围棋中对这样的价值建模的惯用方式是什么?