当前位置: 首页 > news >正文

温州网站建设哪家专业关键词优化哪个好

温州网站建设哪家专业,关键词优化哪个好,wordpress 修改数据库连接,情趣官方网站怎么做代理golang 函数式编程库samber/mo使用: Result 如果您不了解samber/mo库, 请先阅读上一篇 Option , 这篇讲述结构体Result的使用 Result和Option区别 samber/mo有了Option, 为什么还有Result呢? 我们先看看定义: Opt…

golang 函数式编程库samber/mo使用: Result

如果您不了解samber/mo库, 请先阅读上一篇 Option , 这篇讲述结构体Result的使用

Result和Option区别

samber/mo有了Option, 为什么还有Result呢? 我们先看看定义:

Option的定义如下:

type Option[T any] struct {isPresent boolvalue     T
}
type Result[T any] struct {isErr boolvalue Terr   error
}

从结构来看, Result除了值外,还有一个error字段,用来存储错误信息。可以看出Option是用来处理可能存在值的情况,而Result是用来处理可能存在错误的情况。

Result的使用

构造函数主要有以下两个:

  • mo.Ok() 包裹一个值,并且表示成功 doc - play
  • mo.Err() 包裹错误 doc - play

示例如下:

package mainimport ("errors""fmt""github.com/samber/mo"
)func divide(a, b int) mo.Result[int] {if b == 0 {return mo.Err[int](errors.New("division by zero"))}return mo.Ok(a / b)
}func main() {divide(6, 3).Match(func(value int) (int, error) {fmt.Println("Result is", value)return value, nil},func(err error) (int, error) {fmt.Println("Error is", err)return 0, err},)
}

和Option一样, Result也有Match方法, 如果Result不是Err,就执行第一个函数;否则执行第二个函数。所以上面的函数输出为

Result is 2

其他构造函数

  • mo.Errf() doc - play
  • mo.TupleToResult() doc - play
  • mo.Try() 执行一个函数,如果没有错误,返回Ok,否则返回Err doc - play

Result类型的方法

和Option类似, Result也提供 Size, Get, MustGet, OrElse, OrEmpty, ForEach, Match, Map, FlatMap方法。

同时, Result还提供了一些特有的方法,比如:

  • .IsOk() 是否是成功 doc - play
  • .IsError() 是否是错误 doc - play
  • .Error() 返回错误信息 doc - play
  • .ToEither() 可以先跳过,转为Either类型, 如果是Ok, 返回Right, 表示成功; 如果是Err, 返回Left, 表示错误 doc - play
  • .MapErr() 如果是Err, 执行一个函数,返回一个新的Result doc - play

下一篇

http://www.yayakq.cn/news/600119/

相关文章:

  • 购物网站需求分析报告建设网站 证件
  • 均安公司网站建设网店网页制作
  • 做购物网站开发价格世界十大网站排名
  • 网站后台如何更换在线qq咨询代码微网站开发平台
  • 网站查询页面设计网站首次备案 多久
  • 巴中建设网站怎样在手机上建立自己的网站
  • 东莞网站开发技术公司灵璧有做公司网站的吗
  • 太原网站建设搭建vps做网站用什么系统
  • 滑县网站建设公司电商软件定制
  • 张家界网站建设那里有制作网站公司
  • 中山网站建设是什么意思杭州网站建设seo优化营销制作
  • 建设银行金牛支行网站网站建设电话销售
  • 网站首页广告代码那个网站是响应式的
  • 做网站建立数据库wordpress远程图片发布模块
  • 长春建设工程管理中心网站wordpress 邮箱
  • asp网站的安全性设计宝
  • 企业建网站的少了网站的二级域名
  • 网络营销的网站的分析即时通讯软件
  • 哈尔滨公司网站建设wordpress怎么加滑块
  • 云南网站推广的目的视频拍摄器材
  • 网站备案证书安装淮北建网站费用
  • 上海域名网站吗中国电信黄页官网
  • 前端做学校网站教务网站能找到做网站的人
  • 推广网站建设语句备案期间关闭网站
  • 产品网站推广站长之家 网站模板
  • 长沙网站设计咨询电话昆明网站建设哪家
  • 网站乱码解决办法200M电信宽带做网站
  • 公司网站海报怎么做网站建设空间是指什么软件
  • dedecms做多语言的网站网站建设哪家
  • 网站建站报价表做家装家居网站