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

相关推荐
赤水无泪5 分钟前
03 C++语言---预处理器
开发语言·c++
星空下的月光影子5 分钟前
易语言开发从入门到精通:补充篇·易语言与物联网(IoT)深度实践·ESP8266本地MQTT通信·数据采集存储·Windows端可视化监控平台
开发语言
老骥伏枥~6 分钟前
【C# 入门】变量、常量与命名规范
开发语言·c#
weixin_440784117 分钟前
Java线程池工作原理浅析
android·java·开发语言·okhttp·android studio·android runtime
毕设源码-朱学姐14 分钟前
【开题答辩全过程】以 基于spring boot的摩托车合格证管理系统为例,包含答辩的问题和答案
java·spring boot·后端
2401_8321319516 分钟前
模板编译期机器学习
开发语言·c++·算法
嵌入小生00716 分钟前
Data Structure Learning: Starting with C Language Singly Linked List
c语言·开发语言·数据结构·算法·嵌入式软件
独自破碎E22 分钟前
LCR005-最大单词长度乘积
java·开发语言
2401_8384725123 分钟前
单元测试在C++项目中的实践
开发语言·c++·算法
naruto_lnq29 分钟前
移动语义与完美转发详解
开发语言·c++·算法