小鸦 - golang defer 解决"职责统一"的问题

前端之家收集整理的这篇文章主要介绍了小鸦 - golang defer 解决"职责统一"的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

定义

defer,意思: 推迟

作用

函数返回时,执行的动作

解决问题

解决了编程过程中,如何延迟执行代码 的问题.

对于我而言,延迟执行的根本需求是 : 职责的统一. 代码集中化处理意味着修改时,可以避免更少的错误.

常见defer的例子,就是IO的打开与关闭,实质上这是IO的同一个职责,然而该职责的代码分散到方法的前与后,导致代码不集中.

Java如何延迟执行

(实际上没人这样做吧? 只是为了职责统一而特意引入)

class A {
    List<Method> list = new LinkedList();

    public void doA(){
        //...dosth
        list.put(new method{
            ///...
        });

        //其他操作

        //遍历释放
        for(int i=0;i<list.size();i++) {
        list.get(i).dosth();
        }

    }

}

好处

原文链接:https://www.f2er.com/go/187277.html

猜你在找的Go相关文章