返回值

数组遍历的方法

只愿长相守 提交于 2020-02-08 13:40:44
1.for循环 使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大时优化效果才会比较明显。 1 2 3 for (j = 0,len=arr.length; j < len; j++) { } 2.foreach循环 遍历数组中的每一项,没有返回值,对原数组没有影响,不支持IE 1 2 3 4 5 6 //1 没有返回值 arr.forEach((item,index,array)=>{ //执行代码 }) //参数:value数组中的当前项, index当前项的索引, array原始数组; //数组中有几项,那么传递进去的匿名回调函数就需要执行几次; 3.map循环 有返回值,可以return出来 map的回调函数中支持return返回值;return的是啥,相当于把数组中的这一项变为啥(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了); 1 2 3 4 5 6 7 arr.map( function (value,index,array){    //do something    return XXX }) 1 2 3 4 5 6 var ary = [12,23,24,42,1]; var res = ary.map( function (item,index,ary ) { return item*10; })

C++ const char *返回值问题

丶灬走出姿态 提交于 2020-02-08 11:58:07
今天写代码,遇到一个const char *返回值的问题,记录一下 问题场景:我写了一个动态库,有个函数声明如下: virtual const char * RGetAppToken(char *appToken, const char *userAccount, const char *userId) = 0; 函数定义如下: const char * HttpRequestImpl::RGetAppToken(char * appToken, const char * userAccount, const char * userId) { std::string message; // 省略中间逻辑...   message = GetAppToken(); return message.c_str(); } 然后通过控制台程序调用改动态库函数如下: std::string message; memset(appToken, 0, 256); message = httpRequest->RGetAppToken(appToken, userAccount.c_str(), accountId.c_str()); cout << "message: " << message; cout << "\tappToken: " << appToken << endl;

《go语言从入门到进阶实战》_徐波

痞子三分冷 提交于 2020-02-08 02:02:57
摘录 Go语言是Google公司开发的一种静态型、编译型并自带垃圾回收和并发的编程语言。 Go语言不使用虚拟机,只有运行时(runtime)提供垃圾回收和goroutine调度等。 Go语言使用自己的链接器,不依赖任何系统提供的编译器、链接器。因此编译出的可执行文件可以直接运行在几乎所有的操作系统和环境中。 从Go 1.5版本之后,Go语言实现自举,实现了使用Go语言编写Go语言编译器及所有工具链的功能。 Go语言可以利用自己的特性实现并发编译,并发编译的最小元素是包。从Go 1.9版本开始,最小并发编译元素缩小到函数,整体编译速度提高了20%。 Go语言的并发是基于goroutine,goroutine类似于线程,但并非线程。可以将goroutine理解为一种虚拟线程。Go语言运行时会参与调度goroutine,并将goroutine合理地分配到每个CPU中,最大限度地使用CPU性能。 在Go语言中,自增操作符不再是一个操作符,而是一个语句。因此,在Go语言中自增只有一种写法: i++ 如果写成前置自增“++i”,或者赋值后自增“a=i++”都将导致编译错误。 在多个短变量声明和赋值中,至少有一个新声明的变量出现在左值中,即便其他变量名可能是重复声明的,编译器也不会报错。 布尔型无法参与数值运算,也无法与其他类型进行转换。 切片发生越界时,运行时会报出宕机,并打出堆栈

c语言 局部变量做返回值 问题

倖福魔咒の 提交于 2020-02-07 01:10:19
一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说, 函数不能通过返回指向栈内存的指针(注意这里指的是栈,返回指向堆内存的指针是可以的)。 下面以函数返回局部变量的指针举几个典型的例子来说明: 1: [cpp] view plain copy #include <stdio.h> char *returnStr() { char *p= "hello world!" ; return p; } int main() { char *str; str=returnStr(); printf( "%s\n" , str); return 0; } 这个没有任何问题,因为"hello world!"是一个字符串常量,存放在 只读数据段 ,把该字符串常量存放的 只读数据段 的首地址赋值给了指针,所以returnStr函数退出时,该该字符串常量所在内存不会被回收,故能够通过指针顺利无误的访问。 2: [html] view plain copy #include < stdio.h >

装饰器的应用

℡╲_俬逩灬. 提交于 2020-02-06 07:22:06
装饰器的应用 1. 装饰器实现一个函数计时器 2. 创建add_log装饰器 3. 层层装饰的装饰器 4. 利用装饰器实现登陆系统 5. 利用装饰器实现整形数的输入 6. 带参数的装饰器 7. 多个装饰器的练习 1. 装饰器实现一个函数计时器 1.被装饰的函数有返回值怎么办 2.如何保留被装饰函数的函数名和帮助信息文档 @functools.wraps(func) 这是python提供的装饰器。它能把原函数的元信息拷贝到装饰器里面的 func 函数中。函数的元信息包括docstring、name、参数列表等等。可以尝试去除@functools.wraps(func),你会发现test.__name__的输出变成了wrapper import time import random import string import functools #保留被装饰函数的函数名和帮助信息文档(注释) #不处理时,被装饰函数的函数名和注释不会显示 li = [ random . choice ( string . ascii_letters ) for i in range ( 100 ) ] #定义一个装饰器 def timeit ( func ) : #给装饰器一个系统的装饰器,这样的话,被这个装饰器装饰的函数名就不会被覆盖 @functools . wraps ( func ) def

MySQL学习笔记——〇四

妖精的绣舞 提交于 2020-02-06 01:15:42
今天我们继续对MySQL内容进行一些补充,但是今天所讲的内容已经不是平时常用的了。 先穿插一条指令贯穿了今天所讲的所有知识点: MySQL结束符 结束符delimiter其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。 但是在今天的知识点中我们经常需要用到begin...end这种结构体,那么在结构体中的sql语句后的分号就不能作为结束符了,我们需要随便设置一个结束符,在结构体结束后再换回分号。 MySQL视图(View) 如果我们在日常进行数据库维护过程中需要一个重复的虚拟表,这个虚拟表的构建过程我们要敲很多次,MySQL给我们提供了一个对齐进行优化的方法_视图(View)。 视图的创建 比方我们今天需要对一个用户表中id>10的用户进行操作,这个操作要重复好多好多次,那么我们就要写好多次这样的代码 select *from (select * from table where id>10) as t; 这个时候,为了提高效率,我们就可以创建一个视图 create view v1 as select * from table where id>10; 这个时候我们只需要调用v1就可以了。 注意:视图是一个虚拟的表,是动态的

Scala学习笔记05:函数

别等时光非礼了梦想. 提交于 2020-02-05 07:49:28
文章目录 一、声明函数 1、显式声明函数 (1)声明格式 (2)注意事项 (3)案例演示 2、隐式声明函数 (1)声明格式 (2)注意事项 (3)案例演示 二、Scala函数种类 1、成员方法 (1)基本概念 (2)案例演示 2、本地函数 (1)基本概念 (2)案例演示 3、匿名函数 (1)基本概念 (2)案例演示 4、高阶函数 (1)基本概念 (2)案例演示 三、神奇的占位符 1、基本概念 2、案例演示 (1)过滤集合 (2)处理集合 (3)参数占位符 四、闭包 1、基本概念 2、案例演示 五、可变参数 1、基本概念 2、案例演示 六、尾递归 1、基本概念 2、案例演示 一、声明函数 函数其实是一段具有特定功能的代码的集合,由函数修饰符、函数名、函数参数列表、函数返回值声明与函数体组成。 1、显式声明函数 (1)声明格式 [public | private | protected] def 函数名(参数列表) : 返回值声明 = {函数体} (2)注意事项 函数通过 def 关键字定义 def 前面可以具有修饰符,可以通过 private 、 protected 来控制其访问权限。注意默认访问权限是 public 还可使用 override 、 final 等关键字修饰 函数体中 return 关键字往往可以省略掉,一旦省略掉,函数将会返回整个函数体中最后一行表达式的值

hive 常用函数

烂漫一生 提交于 2020-02-05 07:14:00
1.日期比较函数: datediff 语法: datediff(string enddate,string startdate) 返回值: int 说明: 返回结束日期减去开始日期的天数。 举例:hive> select datediff('2016-12-30','2016-12-29'); 返回1 2.日期增加函数: date_add 语法: date_add(string startdate, intdays) 返回值: string 说明: 返回开始日期startdate增加days天后的日期。 举例:hive>select date_add('2016-12-29',10); 返回2017-01-08 3.日期减少函数: date_sub 语法: date_sub (string startdate,int days) 返回值: string 说明: 返回开始日期startdate减少days天后的日期。 举例:hive>select date_sub('2016-12-29',10); 返回2016-12-19 查询近30天的数据select * from table where datediff(current_timestamp,create_time)<=30; create_time 为table里的字段,current_timestamp 返回当前时间

C++-Record09—函数的返回值当引用

江枫思渺然 提交于 2020-02-05 04:24:04
目录 返回栈变量 返回全局变量 返回静态变量 总体代码 返回栈变量 引用做函数值,下面三个函数分别设定为不同的返回类型。 分别是返回一个值,返回一个引用,返回一个指针: int getAA1() { int a ; a = 10; return a; } //返回a的本身 返回a的一个副本 10 int& getAA2() { int a ; //如果返回栈上的 引用, 有可能会有问题 a = 10; return a; } int* getAA3() { int a ; a = 10; return &a; } void main1101() { int a1 = 0; int a2 = 0; a1 = getAA1(); a2 = getAA2(); //10 int &a3 = getAA2(); //若返回栈变量 不能成为其它引用的初始值 printf("a1:%d \n", a1); printf("a2:%d \n", a2); printf("a3:%d \n", a3); // *a3 cout<<"hello..."<<endl; system("pause"); return ; } 用debug模式下,运行: 用release模式下,运行: a3又不是个乱码了!?程序因为不同的版本所运行的结果不一样,这说明程序存在潜在的bug。那么,下面来进行分析:

python get系统变量值os.environ/os.environ.get/os.getenv/del os.environ

試著忘記壹切 提交于 2020-02-05 03:36:33
1.python get系统环境变量使用以下function import os # 设置环境变量 os.environ['WORKON_HOME']="value" # 获取环境变量方法1 os.environ.get('WORKON_HOME') #获取环境变量方法2(推荐使用这个方法) os.getenv('path') # 删除环境变量 del os.environ['WORKON_HOME'] 2.不能被get的系统变量 在 shell终端中 任何命令都有返回值,比如 diff a b 返回值存储在系统变量 '$?'中 但是这个系统变量不能被python get到。具体如何get 系统命令的返回值参见另一篇文章 python的os.system执行cmd之后的返回值与linux返回值区别 来源: CSDN 作者: cy413026 链接: https://blog.csdn.net/cy413026/article/details/104171821