Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Stack ¶
type Stack []interface { }
由于Go语言的所有类型都实现了空接口,因此任意类型的值都可以存储在Stack中。 .Go语言的空接口扮演的是Java中的Object或者C/C++中的void*类型一样的角色。
func (*Stack) Push ¶
func (sstack *Stack) Push(item ...interface{})
*
如果我们要修改接收器,就必须将接收器设为一个指针
Go语言中的指针除了不支持指针运算之外(其实也不需要),其他的与C和C++里的是一样的。 hx940929-Note: 因为默认接收器函数是按值传递,那么如果不用指针,就会将原来的值(对象)拷贝一份到这个函数体内进行. 这里有两个需要注意的问题:
1.对该值的任何修改,只是在函数内的副本进行,不会影响到函数的调用者所使用的值(对象) 2.如果该值是一个大对象,那么在进行内存拷贝的时候,浪费性能和内存空间.效率低.
使用指针,就不会出现内存拷贝的问题,但是会有一个问题,就是允许函数内对值的任意修改.
Click to show internal directories.
Click to hide internal directories.