首页 > 其他分享 >0118-Go-延迟执行

0118-Go-延迟执行

时间:2022-11-27 19:44:11浏览次数:60  
标签:defer err 0118 func Go os fmt 延迟

环境

  • Time 2022-08-25
  • Go 1.19

前言

说明

参考:https://gobyexample.com/defer

目标

使用 Go 语言的 defer。

示例

package main

import (
    "fmt"
    "os"
)

func main() {

    f := createFile("/tmp/defer.txt")
    defer closeFile(f)
    writeFile(f)
}

func createFile(p string) *os.File {
    fmt.Println("creating")
    f, err := os.Create(p)
    if err != nil {
        panic(err)
    }
    return f
}

func writeFile(f *os.File) {
    fmt.Println("writing")
    fmt.Fprintln(f, "data")

}

func closeFile(f *os.File) {
    fmt.Println("closing")
    err := f.Close()

    if err != nil {
        fmt.Fprintf(os.Stderr, "error: %v\n", err)
        os.Exit(1)
    }
}

总结

使用 Go 语言的 defer。

附录

标签:defer,err,0118,func,Go,os,fmt,延迟
From: https://www.cnblogs.com/jiangbo4444/p/16930431.html

相关文章

  • 0109-Go-工作池
    环境Time2022-08-24Go1.19前言说明参考:https://gobyexample.com/worker-pools目标使用Go语言的工作池。示例packagemainimport("fmt""time"......
  • 0108-Go-定时器
    环境Time2022-08-24Go1.19前言说明参考:https://gobyexample.com/tickers目标使用Go语言的定时器。示例packagemainimport("fmt""time")fu......
  • Mongodb基础运维
    数据库分类:RDBMSNoSQLNewSQL**基础---->**介绍适合存储海量数据,非常适合存储历史数据表,日志类,压缩比高。MongoDB是一个基于分布式文件存储的开源文档数据库......
  • 学习笔记-Django框架的使用
    前言:本博客为技术小白的记录学习过程,有错误或不解的地方请指出!!!一.安装和创建项目1.安装1.1命令行下载pip3installdjango==1.11.11 (可以跟镜像地址:-i+镜像地址......
  • google adsense 设置建议
    1.用文字广告代替图片广告。2.最佳的广告尺寸是336*280的大矩形,其次是300*250的中等矩形,远离468*60的广告。3.显示在右侧边缘的广告在“心理上”缩短你的右手和屏幕之......
  • DlgOpengl-06 纹理
    纹理,用过三维建模软件的应该知道它是什么,三维软件的纹理就是给一个三角面绘制一个贴图,可以是图片,也可以是一种依靠灰度进行的诸如烟雾,置换,或者噪波等等类似的操作。之前使......
  • (转)单缓冲Strip渲染降低VR中的延迟
    VRrequiresthesupportofmanycomponentsinmodernphones.Thisstartswiththesensorforrecordingthemotionofthehead,theCPUdrivingtheVRapplicati......
  • django 定时任务 Error: no such table: django_apscheduler_djangojob
    使用django的定时任务一般出现各种问题例如找不到这个注册表或者urls不存在等etc....版本不兼容我的版本django2.2.8django_apscheduler==0.2.12APScheduler~......
  • Intellij IDEA 配置Go语言开发环境
    IntellijIDEA配置Go语言开发环境1.Go语言环境搭建本篇博文是在读者Go自身环境已经搭好,IntellijIDEA环境也已装好的基础上所总结而来。Go语言环境搭建可参考笔者的另一......
  • django之ModelForm配合Select2之用法
    django在开发时有很强大的功能,但是有一些功能还是不够的,django给我们强大的自增强功能。Select2https://select2.org开发时可以直接使用CND:<linkhref="https://cdn.j......