defer执行的顺序-创新互联

defer先进后出
举例:

成都创新互联公司是专业的凤台网站建设公司,凤台接单;提供成都网站设计、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行凤台网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
package main

import (
    "fmt"
    "os"
    "bufio"
)

//打开文件
func writeFile(filename string) {
    file, err := os.Create(filename)
    if err != nil {
        panic(err)
    }
    //往文件写内容(直接写文件会比较慢,所以这里用bufio。先写到内存里,再内存一下写进去会比较快)
    writer := bufio.NewWriter(file)
    for i := 0; i < 20; i++ {
        fmt.Fprintln(writer, i)
    }
    defer file.Close()
    defer writer.Flush()
}

func main() {
    //tryDefer()
    writeFile("haha.txt")
}

先执行writer.Flush(),再执行file.Close()。反之不能写入

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


分享题目:defer执行的顺序-创新互联
本文链接:http://abwzjs.com/article/hhjod.html