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

相关推荐
小北方城市网2 分钟前
JavaScript 实战 —— 实现一个简易的 TodoList(适合前端入门 / 进阶)
开发语言·前端·javascript
向上_503582915 分钟前
配置Protobuf输出Java文件或kotlin文件
android·java·开发语言·kotlin
njidf7 分钟前
C++中的观察者模式
开发语言·c++·算法
秋野酱12 分钟前
基于springboot的母婴商城系统设计与实现(源码+文档+部署讲解)
java·spring boot·后端
踩着两条虫15 分钟前
VTJ.PRO 在线应用开发平台的后端模块系统
后端·架构·nestjs
踩着两条虫17 分钟前
VTJ.PRO 在线应用开发平台的业务模块(应用、DSL、模板、订单、智能体、技能)
后端·agent·nestjs
艾莉丝努力练剑17 分钟前
alarm系统调用的一次性原理揭秘
linux·运维·服务器·开发语言·网络·人工智能·学习
踩着两条虫17 分钟前
VTJ.PRO 在线应用开发平台的核心模块(用户、认证、RBAC、缓存、设置)
后端·低代码·nestjs
无籽西瓜a23 分钟前
【西瓜带你学设计模式 | 第二期-观察者模式】观察者模式——推模型与拉模型实现、优缺点与适用场景
java·后端·观察者模式·设计模式
探序基因27 分钟前
安装空间转录组分析软件-R包SPATA2的安装
开发语言·r语言