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

电商网站建站小制作简单易学

电商网站建站,小制作简单易学,东莞网站建设(曼哈顿信科),网站怎么不要钱自己做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/910573/

相关文章:

  • 备案需要网站空间电商自学网免费
  • 产品 网站建设简述网站开发的5个步骤
  • 兄弟们有没有没封的网站网站开发播放大视频卡顿
  • 个人网站备案 导航wordpress php 7.2
  • 怎么建设和聚享游一样的网站呢企业手机网站建
  • 铁岭网站建设网络优化高端网站制作费用
  • 深圳家居网站建设公司排名wordpress自动安装
  • 房地产政策最新消息辽宁seo推广软件
  • wordpress ogseo知识是什么意思
  • 建材企业网站推广方案青岛网站排名
  • 网站建设视觉效果聚企360做的网站
  • 做网站优化的协议书电商网站开发 思维导图
  • 免费企业信息查询网站已购买域名 如何做网站
  • 网站的基本布局做加盟童装交流网站
  • 天津大学生专业做网站北京专业制作网站公司
  • 中小型企业网站模板南京做网站xjrkj
  • 杭州网站设计 site百度怎样建立网站链接
  • 北京网站优化方案wordpress仪表盘定制
  • 重庆网站搭建哪里可以做上城网站建设
  • 简单的网站开发花蝴蝶免费视频在线观看高清版
  • 手机网站营销朝阳网站开发
  • 企业为什么要建设自己的网站什么是百度权重
  • 建网站 域名移动和生活app下载安装最新版
  • 模板下载网站哪个好wordpress不适合大型网站
  • 闽清县城乡建设局网站做公司网站别人能看到吗
  • 哪里有个人卖房网站宿迁手机网站开发公司
  • php开源企业网站系统网站站长如何赚钱
  • 网站的跟目录中信建设公司好进去吗
  • 建设银行宁波分行 招聘网站手机特效视频制作软件免费
  • 如何做好网站管理工作高校英文网站建设