返回值
上周的某一天,大家突然开始说起了公司的时间存储格式,有个同学的公司的时间返回值特别奇怪,迷之诡异,无法在前端填入Date()解析,这种时候我就想到了——时间戳大法好,下一个。 通过这一格式由后端返回给前端,前端可以通过new Date(dateTime)直接解析。 这里其实要说的就是,返回的时间必须是时区相关的,看到一些存储时返回的日期值是只有日期而没有时区的,非常不靠谱,正巧讨论之前几天就在 StackOverflow 回答过一个时间处理的问题,连起来想想还是挺有意思的
加defer的语句会延迟到函数调用结束返回时才执行,相当于finally...end区。存在多个defer语句时,最先出现的总是最后才执行。 虽然panic/recover组合可以模拟try...except...end,但不建议在编写普通函数时也经常性使用这种特性
Python中有一个非常有用的语法叫做生成器,用到的关键字就是yield。yield的作用是把一个函数变成生成器(generator),起到一个延迟的作用。 带有yield的函数在Python中被称之为generator(生成器),也就是说,当你调用这个函数的时候,函数内部的代码并不立即执行 ,这个函数只是返回一个生成器(Generator Iterator)
闭包定义:闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数。 这样在执行完var c=a()后,变量c实际上是指向了函数b再执行c()后就弹出一个窗口显示i的值(第一次为1)
md5sum命令 采用MD5报文摘要算法(128位)计算和检查文件的校验和。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改
这些城市是根据人口数量的升序排列的,依次编号为 0 到 N-1 。每条道路连接两个不同的城市,并且可以双向通行。由这些道路,你能从任意一个城市到另外任意一个城市
函数和存储过程一样,也是编译好存储在数据库服务器上的程序代码。函数与存储过程 最大的不同在于,函数必须要有返回值。当然了,函数具有存储过程一样的优点,不知道的伙计,请参见《Oracle学习笔记——存储过程》
wiki 上的解释是:依赖注入(Dependency Injection,简称DI)是一种软件设计模式,在这种模式下,一个或更多的依赖(或服务)被注入(或者通过引用传递)到一个独立的对象(或客户端)中,然后成为了该客户端状态的一部分。 该模式分离了客户端依赖本身行为的创建,这使得程序设计变得松耦合,并遵循了依赖反转和单一职责原则。与服务定位器模式形成直接对比的是,它允许客户端了解客户端如何使用该系统找到依赖 一句话 --- 没事你不要来找我,有事我会去找你
Python的cmp函数可以比较同类型之间,或者不同数据类型之间。然后根据Python的cmp比较函数的返回值来判定比较大小。 观察上面cmp函数的几个比较,可以总结: Python的cmp比较函数 ,如果我们比较的是两个同类的对象,比较操作是非常直观的
Lua中的pcall和xpcall函数都是用于捕捉和处理异常的函数。它们的区别在于错误处理的方式。 pcall函数会调用一个函数,在函数执行过程中如果出现错误,它将返回false和错误信息;如果没有出现错误,则返回true和函数返回值