首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP 8.5 # 揪出忽略返回值的 Bug

    给函数或方法加上#[\NoDiscard],调用方要是不用返回值,PHP就会发警告。可以把它理解为"编译器级别的提示"(实际由引擎在运行时/编译时执行),不抛异常、不改行为,只是让API更安全。...PHP8.5#[\NoDiscard]揪出"忽略返回值"的Bug常见"惯犯":返回值被忽略的几种场景PHP代码库里有几个常见的"惯犯"。...不一定马上出问题——但错误处理被推到了"以后再说",而"以后"往往等于"永远不"。...属性钩子所以这样写会报错:展开代码语言:PHPAI代码解释#[\NoDiscard]functionlogSomething(string$msg):void{error_log($msg);}//Fatal:void函数不返回值...忽略返回值是真实PHP代码里反复出现的失败模式——尤其是:函数大多数时候都成功API是不可变的(返回新实例)失败靠返回值而不是异常来报告PHP8.5给了一种原生手段来尽早抓住这些错误,用警告加显式(void

    9310

    Go: 命名返回值的使用, return携带还是不携带?

    在Go语言中,命名返回值提供了一种声明函数返回值的方式,它可以增加代码的可读性和灵活性。但是,在使用命名返回值时,return语句是否应该明确携带返回值,是一个常见的困惑。...不带命名返回值的return 或者,你可以省略return语句中的返回值,让Go自动返回命名返回值的当前值: func sum(a, b int) (result int) { result = a...简洁性与明确性:省略return语句中的返回值可以让代码更简洁,但可能牺牲了一些明确性。如果函数体比较复杂,明确指定返回值可能有助于提高代码的可读性。...建议做法 对于简单的函数,可以考虑省略return语句中的返回值,使代码更精简。 对于复杂的函数或重要的库,可能更适合明确指定返回值,以增加代码的可读性和可维护性。...希望这篇文章能帮助你解决关于Go语言中命名返回值使用的困惑。

    1.4K30
    领券