奇思妙想

2024年 5月 12日

闭包比函数简洁

假如你希望对一个数组做排序,可能要写一个compare函数传给sort函数。利用闭包,可以把compare函数简约成一段微小的"比较闭包",很简洁清晰。例如Swift中数组从小到大排序:

进一步了解
2024年 5月 12日

函数是闭包吗?

一些编程语言经常被提到闭包,实际上,闭包closure就是实现特定任务的独立功能块。函数本质也是闭包,是有名字的闭包,而闭包一般被称作"匿名函数"。即,如果一段代码是以通常的函数代码存在,就不叫做闭包...

进一步了解
2024年 5月 12日

Swift guard比if判断好在哪里?

Swift的guard语句是一种用于提前退出函数的机制,如果某些条件不满足,则可以避免执行后续的代码。听起来它和if判断很像,实际上,guard更注重"防卫",形如公司门口保安的职责,而不是商场购物选...

进一步了解
2024年 5月 12日

一次返回多个值?

没有元组概念的编程语言,一次返回多个值必须使用结构体、构造数组/列表或者额外利用指针类型参数传入并修改传出(C#使用ref或out修饰符)来完成。

进一步了解
2024年 5月 12日

函数定义嵌套的意义?

尽管现代编程语言已经有不少支持函数定义嵌套,在编程语言的历史长河中,最早在ALGOL和Simula就已经有过程嵌套定义的萌芽。函数定义嵌套在某些时候,可以优化精简代码,方便作用域控制以及性能优化。

进一步了解
2024年 5月 8日

数组判等

C/ObjC/C++/C#/Java默认数组是引用类型,直接用==判断相当于比较指针或者引用,并没有比较数组元素值,必须手写或使用形如equals方法实现内容判等。 数据相等

进一步了解