现在 go 其实也可以写成 rust 的这样,但是没有 match 意义不大
package main
type Optional[T any] struct {
Some T
IsNull bool
}
func Some[T any](value T) Optional[T] {
return Optional[T]{
value,
false,
}
}
type Result[T any] struct {
OK T
Error error
}
func OK[T any](value T) Result[T] {
return Result[T]{value, nil}
}
func a() Result[string] {
return OK("1")
}
func main() {
var s = Some(1)
if s.IsNull {
}
var b = OK(a())
if b.Error != nil {
}
}
我在想能不能借助 IDE 包装一层 go++ 以提供自定义语法糖,go++ 翻释成 .go 后再去编译
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.