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

相关推荐
Miss_Chenzr18 小时前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
期待のcode18 小时前
Springboot核心构建插件
java·spring boot·后端
遥不可及~~斌18 小时前
Java 面试题集 -- 001
java·开发语言
2501_9216494918 小时前
如何获取美股实时行情:Python 量化交易指南
开发语言·后端·python·websocket·金融
集智飞行19 小时前
c++函数传参的几种推荐方式
开发语言·c++
serendipity_hky19 小时前
【SpringCloud | 第5篇】Seata分布式事务
分布式·后端·spring·spring cloud·seata·openfeign
鼾声鼾语19 小时前
matlab的ros2发布的消息,局域网内其他设备收不到情况吗?但是matlab可以订阅其他局域网的ros2发布的消息(问题总结)
开发语言·人工智能·深度学习·算法·matlab·isaaclab
五阿哥永琪19 小时前
Spring Boot 中自定义线程池的正确使用姿势:定义、注入与最佳实践
spring boot·后端·python
麦麦鸡腿堡19 小时前
Java_类的加载
java·开发语言
我命由我1234519 小时前
VSCode - Prettier 配置格式化的单行长度
开发语言·前端·ide·vscode·前端框架·编辑器·学习方法