国内最专业的IT技术学习网

UI设计

当前位置:主页 > UI设计 >

Go语言团队否决关于"try()"语句的提案

发布时间:2019/07/29标签:   错误    点击量:

原标题:Go语言团队否决关于"try()"语句的提案
Go 言语作者之一 Robert Griesemer 前几天代表 Go 言语开辟团队的提案检察委员会颁布了对于反对一项提案的决议。Robert 在「内置的 Go 过错检讨函数,"try"」提案上面的复兴中公布了这个布告,并表现因为社区一边倒的反映和基于此而惹起的普遍探讨,团队决议提早谢绝此项提案。对于 Go 2 的过错处置成绩,Robert 表现团队客岁就已论述了对此的见解,但事先并没惹起充足的留神和探讨。以是对于"try()"语句的提案能够是处理此成绩的一个很好的处理计划,但关于大少数应用者而言,此计划并没从基本上处理成绩。上面举一个 try 语句的示例。比方以下代码:f,err:=os.Open(filename)iferr!=nil{return…,err//zerovaluesforotherresults,ifany}可经过应用 try() 语句简化为:f:=try(os.Open(filename))能够看到,内置的函数 try() 采纳一个繁多表白式作为参数。此中最初一个值必需是error范例时,表白式须要求出 n+1 个值(n 能够为零)。假如过错参数(final)为 nil,则前往前 n 个值(假如有的话),不然前往来自嵌套函数的过错。这类方式最重要的毛病是须要对过错成果参数停止定名,为此能够会招致 API 不那末直观易读。总的来讲,一开端 try() 看起来就不太存在通用性,由于它只是针对一个特定义务量身定制的语法糖,应用较少的榜样代码停止过错处置,而且能充足好地处置该义务。固然它也十分合乎 Go 的哲学 —— try() 不是为处理全部过错处置情形而计划的;它旨在很好地处置最罕见的情形,以坚持计划简略明白。【义务编纂:庞桂玉 TEL:(010)68476606】 点赞 0

版权信息Copyright © IT技术教程 版权所有    ICP备案编号:鲁ICP备09013610号