Go 自学:defer关键字

我们可以使用defer关键字延迟代码的执行,相当于我们把代码放入一个stack中,遵循last in first out的原则输出代码。

go 复制代码
package main

import (
	"fmt"
)

func myDefer() {
	for i := 0; i < 5; i++ {
		defer fmt.Print(i)
	}
}

func main() {
	defer fmt.Println("World")
	defer fmt.Println("One")
	defer fmt.Println("Two")
	fmt.Println("Hello")
	myDefer()
}

代码输出为:

Hello

43210Two

One

World

相关推荐
canonical_entropy6 小时前
从同步范式到组合范式:作为双向/δ-lenses泛化的可逆计算理论
后端·低代码·领域驱动设计
Funcy7 小时前
XxlJob 源码分析06:任务执行流程(一)之调度器揭秘
后端
AAA修煤气灶刘哥8 小时前
数据库优化自救指南:从SQL祖传代码到分库分表的骚操作
数据库·后端·mysql
excel8 小时前
应用程序协议注册的原理与示例
前端·后端
ytadpole10 小时前
揭秘xxl-job:从高可用到调度一致性
java·后端
Moonbit10 小时前
MoonBit 三周年 | 用代码写就 AI 时代的语言答卷
后端·程序员·编程语言
菜鸟谢10 小时前
QEMU
后端
bobz96510 小时前
calico vxlan 默认不依赖 BGP EVPN 携带 VNI
后端
bobz96510 小时前
vxlan 和 vlan 的不同点
后端
每天进步一点_JL11 小时前
JVM 内存调优:到底在调什么?怎么调?
java·jvm·后端