??原创文章,欢迎转载。转载请注明:关东升的博客 函数的语法格式如下: func 函数名(参数列表) -> 返回值类型 { 语句组 return 返回值}关键字是func。多个参数列表之间可以用逗号(,)分隔,也可以没有参数。使用箭头“->”指示返回值类型。返回值有单个值和多个值。如果函数没有返回值,则“-> 返回值类型”部分可以省略。如果函数有返回值,就需要在函数体最后使用retu...
分类:
编程语言 时间:
2015-09-30 11:13:09
阅读次数:
178
原创文章,欢迎转载。转载请注明:关东升的博客函数的语法格式如下:func 函数名(参数列表) -> 返回值类型 { 语句组 return 返回值}关键字是func。多个参数列表之间可以用逗号(,)分隔,也可以没有参数。使用箭头“->”指示返回值类型。返回值有单个值和多个值。如果函数没有返回值,则“-...
分类:
编程语言 时间:
2015-09-30 11:11:26
阅读次数:
156
转自:http://www.2cto.com/kf/201401/272974.html,感谢作者的总结什么是不可变对象? 众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变....
分类:
编程语言 时间:
2015-09-29 11:32:42
阅读次数:
202
31、String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有?没有。因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。在这段代码中,s原先指向一个String对象,内容是 "Hell...
分类:
编程语言 时间:
2015-09-22 23:35:13
阅读次数:
318
Guava学习笔记:guava的不可变集合不可变集合的意义不可变对象有很多优点,包括:当对象被不可信的库调用时,不可变形式是安全的;不可变对象被多个线程调用时,不存在竞态条件问题不可变集合不需要考虑变化,因此可以节省时间和空间。所有不可变的集合都比它们的可变形式有更好的内存利用率(分析和测试细节);...
分类:
其他好文 时间:
2015-09-22 21:47:21
阅读次数:
165
摘要:1python中的一切事物皆为对象,并且规定参数的传递都是对象的引用。2 python参数传递都是“传对象引用”方式。实际上相当于c++中传值和传引用的结合。3 如果函数收到的是可变对象(比如字典或者列表)的引用,就能修改对象的原始值——相当于通过“传引用”来传递对象。不可变对象(比如数字、字...
分类:
编程语言 时间:
2015-09-20 19:15:45
阅读次数:
138
最近总是在封装函数的时候,纠结如何往封装函数内带入有用的值,又如何从封装函数带出来必要的内容,在此,关于做了一些基础知识的整合。1.变量将值带入函数的形参 这种情况比较简单,就是将定义好的相应类型的值传递到自己封装的函数内就可以了,在此不必传入地址,或者应用之类的,直接传递真值即可,此处就不过多的....
分类:
其他好文 时间:
2015-09-17 11:31:27
阅读次数:
116
这一章节我们来讨论一下参数与共享引用
承接上一章节所说的参数的传递是通过自动将对象赋值给本地变量名来实现的,其本质就是复制引用,传递对象
1.我们下面以传递不可变对象为例子:
>>> b=1
>>> def test(x):
print(x)
print(id(x))
x=2
print(x)
print(id(x))
>>> test(b)
1
497734096
2
...
分类:
编程语言 时间:
2015-09-16 09:47:40
阅读次数:
205
HashMap的key能是对象吗?key能是可变对象吗?当key是可变对象是会带来什么问题???
分类:
其他好文 时间:
2015-09-15 18:06:44
阅读次数:
130
1.多目标赋值
>>> a=b=c='abc'
>>> a,b,c
('abc', 'abc', 'abc')
>>>
2.多目标赋值与共享引用
对于不可变对象是没有问题,但是对于可变对象,这里就有问题的了
>>> a=1
>>> b=a
>>> b=a+1
>>> id(a)
505991632
>>> id(b)
505991648
>>>
上面的例子...
分类:
编程语言 时间:
2015-08-31 23:47:16
阅读次数:
191