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

相关推荐
默 语9 分钟前
Spring Boot 3.x升级踩坑记:到底值不值得升级?
hive·spring boot·后端
Java编程爱好者11 分钟前
JDK 21 中的虚拟线程:革新 Java 多线程
后端
悟能不能悟16 分钟前
springboot controller返回的是HttpServletResponse成功返回excel文件流,失败就返回失败参数
spring boot·后端·excel
神奇小汤圆16 分钟前
面试官:如何在 Kafka 中实现延迟消息?
后端
请告诉他44 分钟前
【实战经验】Dell Inspiron 7560 升级 BIOS 支持 DDR4-2666 内存,解决 Spring Cloud 多模块开发内存瓶颈
后端·spring·spring cloud
悟能不能悟1 小时前
JAVA 对象转为二级制流,再转化为base64
java·开发语言
我想问问天1 小时前
【从0到1大模型应用开发实战】02|用 LangChain 和本地大模型,完成第一次“可控对话
后端·langchain·aigc
捧 花1 小时前
前端如何调用后端接口(HTML + JS & Vue )
服务器·golang·vue·api·前后端交互
爱吃牛肉的大老虎1 小时前
Spring WebFlux与SpringMVC 对比讲解
java·后端·spring