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

有什么做旅游攻略的网站好2022黄页全国各行业

有什么做旅游攻略的网站好,2022黄页全国各行业,沈阳网站seo优化哪家好,设计网站页面要多少钱我的掘金平台原文地址Golang1.21更新内容全面介绍~ 前言 在Golang1.21这一次更新中#xff0c;主要更新内容为#xff1a; for range的一个语义变更 、 新加入max、min、clear方法、 contenxt增添api、 WASI的支持 本文主要带大家熟悉这些变更的内容~ 1.for语义的变更…我的掘金平台原文地址Golang1.21更新内容全面介绍~ 前言 在Golang1.21这一次更新中主要更新内容为 for range的一个语义变更 、 新加入max、min、clear方法、 contenxt增添api、 WASI的支持 本文主要带大家熟悉这些变更的内容~ 1.for语义的变更 首先在go中for range其实有一个比较坑的地方 举一个简单的例子 printRes:[]func(){} for _,v:range []int{1,2,3,4,5}{printResappend(printRes,func(){fmt.Print(v)}) } for _,v:range printRes{v() }不知道for这个坑的同学可能会认为结果应该为12345但实际上它的结果是55555 其原因就是这里的循环遍历是使循环变量每次循环。 循环遍历始终是同一个v这才导致了最后的结果都是一致的要想达到使循环变量每次迭代而不是每次循环其实也不难只需要在每次循环时都新变量去重新赋值就好了v:v 而1.21也是决定了重新定义循环的语义让其是每次迭代。在1.21当中我们只需要在运行时额外加一个 GOEXPERIMENTloopvar构建程序即可 2.新增maxminclear函数 在1.21版本go也是基于泛型新增了max与min函数支持多种类型多参数在以前都需要自己去写这两个方法~ 带大家看一下源码 // The max built-in function returns the largest value of a fixed number of // arguments of [cmp.Ordered] types. There must be at least one argument. // If T is a floating-point type and any of the arguments are NaNs, // max will return NaN. func max[T cmp.Ordered](x T, y ...T) T// The min built-in function returns the smallest value of a fixed number of // arguments of [cmp.Ordered] types. There must be at least one argument. // If T is a floating-point type and any of the arguments are NaNs, // min will return NaN. func min[T cmp.Ordered](x T, y ...T) T//支持的参数类型 type Ordered interface {~int | ~int8 | ~int16 | ~int32 | ~int64 |~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |~float32 | ~float64 |~string }举例 fmt.Println(max(1,uint(7),8)) //--8除去max(),min()。还有一个clear()的方法顾名思义就是对传入的变量进行一个数据回收 func clear[T ~[]Type | ~map[Type]Type1](t T)可以看到该方法主要服务于slice与map类型 对于切片clear会将其数据变为默认值0但是lencap都不变 s:[]int{1,2,3,4,5,6,7,8,9,10} clear(s) fmt.Printf(s:%v,len:%v,cap:%v,s,len(s),cap(s))//s:[0 0 0 0 0 0 0 0 0 0],len:10,cap:10而对于map结果是这样的 m:make(map[string]int,10) m[a]1 fmt.Printf(m:%v,len:%v\n,m,len(m)) clear(m) fmt.Printf(m:%v,len:%v,m,len(m))//m:map[a:1],len:1 //m:map[],len:0数据清空桶也清空~ 3.contenxt更新 context应该不必我多介绍了Go语言特别常用的用于不同go协程之间的通信收发取消信号、截至信号、元数据等上下文。 context这次更新主要是针对cancel()发送取消信号增加了一个取消原因以及回调函数的增添 func WithCancelCause(parent Context) (ctx Context, cancel CancelCauseFunc)func WithTimeoutCause(parent Context, timeout time.Duration, cause error) (Context, CancelFunc)func WithDeadlineCause(parent Context, d time.Time, cause error) (Context, CancelFunc) 如图在三个api中形参都增添了一个cause的错误类型当cancel()调用或者超时后那么context.Cause(ctx) 方法就会获得我们自定义的错误而非默认的ctx.Err()中的context deadline exceeded。这样做的好处显而易见当我们程序出错的根据我们自定义的错误去追踪错误显然会比默认的context deadline exceeded更精确 代码举例 myctxErr:fmt.Errorf(自定义ctxErr错误)ctx,cancel:context.WithTimeoutCause(context.Background(),1*time.Second,myctxErr) defer cancel() time.Sleep(2*time.Second) fmt.Println(context.Cause(ctx))//自定义ctxErr错误而关于回调函数 func AfterFunc(ctx Context, f func()) (stop func() bool) 其作用是在cancel取消或者超时后Evict 在一些场景下我们常常要用goroutineselectchannel这套组合拳来实现监听取消的行为并为此做出后续的业务 而有了这个回调函数可以让我们用更简洁的代码来实现这一功能 举例 func main(){myctxErr:fmt.Errorf(自定义ctxErr错误)ctx,cancel:context.WithTimeoutCause(context.Background(),5*time.Second,myctxErr)context.AfterFunc(ctx,func1)defer cancel()time.Sleep(6*time.Second)fmt.Println(context.Cause(ctx)) }//evictEvent func func1() {fmt.Println(666) }//666 //自定义ctxErr错误4.WASI支持 Go1.21 起Go 将会支持 WASI 。预计先支持 WASI Preview1 标准后续 WASI Preview2 成熟后会继续支持新标准。 而WASI全称为WebAssembly System Interface 不熟悉想了解的朋友可以观看WASI 前瞻 - 知乎 (zhihu.com)这篇文章 以上就是我分享所有内容希望能够帮助到大家~~
http://www.hkea.cn/news/14285238/

相关文章:

  • 阳江招聘网鹏程包头seo营销公司
  • 万州网站制作网站建设中古典武侠中文字幕
  • 网站的风格设计用wang域名做购物网站怎么样
  • 烟台免费网站建站模板苏州网站建设专业的公司
  • 上海云盾为网站做防护企业文化形象墙设计
  • 可以自己做网站个人网站毕业设计作品
  • 深圳网站软件网站建设百度免费发布信息平台
  • 企业为什么要做网站 作用是什么域名备案信息
  • 做网站多少钱一年织梦个人博客网站源码
  • 做网站做手机app要学什么软件有什么网站可以做一起作业
  • 销售案例网站国家企业信用信息公示系统广东
  • 当今做哪个网站能致富百度发广告怎么发
  • 做一个网站花2万贵吗微盟做一个小程序大概多少钱
  • 集团 投入巨资 做网站阿里巴巴1688网站做店铺
  • 为什么买的网站模版不好用江川区住房和城乡建设局网站
  • 做任务免费领取东西的网站网站有情链接怎么做
  • 怎么制作网站视频教程站长之家关键词挖掘工具
  • 信息化建设好的企业网站有哪些大连百度首页优化
  • 杭州网站定制开发网站备案容易吗
  • 汕头有没有做网站网站源码偷取工具
  • 桥东企业做网站如何免费注册企业邮箱
  • 青海建设厅网站首页网站举报查询
  • 做app和做网站平面设计公司属于什么行业
  • 做购物网站多少钱 知乎大丰市市城乡建设局网站
  • 北京网站开发外包如何创办网站
  • 大型电商网站开发实践浙江中天建设集团有限公司网站
  • 茌平网站建设电话网站播放图片多大合适
  • ppt模板免费下载网站哪个好郉台网站建设
  • 建网站能上传多少数据关于旅游案例的网站
  • 网站的建设书籍中原免费网站建设