golang 条件语句中有多条件时多条件的执行顺序和执行效率问题总结 -- if else条件语句 多条件时执行顺序为从左到右

在golang的 条件语句中有多个执行条件时,go的执行顺序为从左到右依次执行, 如果多个条件是 && 条件与的关系,则执行条件的顺序就与程序的效率密切相关,

if else 的多个条件示例:

Go 复制代码
func TestOrderTest(t *testing.T) {

	// 匿名函数定义
	sfn := func(n1, n2 int) int {
		return n1 - n2
	}

	test1(false, sfn)
}

// if 多个条件时的顺序 测试
func test1(isOk bool, sfn func(int, int) int) {

	if isOk && sfn(5, 2) > 3 { // sfn函数不会被执行
		// do what you want

	} else if sfn(5, 2) > 3 && isOk { // sfn会被执行
		// do what you want

	}

}

运行图解

总结: golang中多条件执行顺序是从左到右依次执行,通常我们需要将已知的或者是运行效率高的条件放在左边 ,将运行效率低 的条件放到 条件的右边 ,这样可最大限度的减少不必要的程序执行。 虽然这只是一个小知识点,但是和我们的程序效率密切相关,相同的条件,放左边和放到右边的区别可谓是天上人间!

相关推荐
绝望的蛋炒饭10 分钟前
长会话的模型选型:缓存命中率如何决定真实成本
人工智能·后端·agent
用户804677180097510 分钟前
Spring MVC Controller 返回值类型全解
后端
用户1276530181411 分钟前
把客服分流、询盘清洗、多平台改写做成 3 个 HTTP 接口,纯规则引擎也能跑
后端
程序员初一13 分钟前
玩了这么多年服务器,那服务器管理工具哪个好用?
后端
用户4270192301219 分钟前
改个模型名,两个定时任务静默死了:一次定义与引用的分离事故
后端
知守观26 分钟前
从 4 套 PDF 库的混战,聊聊老项目的依赖管理与“静默失败”
java·后端·设计模式
用户0723670666029 分钟前
基于 JavaAgent 的无侵入 Mock:让联调和链路测试不再等下游
java·后端
小蒜学长30 分钟前
基于SpingBoot+Vue的定向越野赛事管理系统的设计与开发(代码+数据库+LW)
java·前端·spring boot·后端·前后端分离·定向越野赛事
海岳云舟30 分钟前
spring自带线程池使用不当导致的死锁问题
java·后端
写码跑山的老艾33 分钟前
10 张图看懂:一次 MySQL 刷数,为什么压垮了 ES?
后端