(三十)golang--面向对象
首先我们要明确:
?从这可以看出,结构体其实是我们自己定义的数据类型;结构体变量是具体的,实际的,代表一个具体变量; 申明结构体的几种方式:
结构体类型内存的分配机制: ? ? 可以看出,各结构体之间是相互不影响的。 ? ? ?这种方式则p2是一个指针,指向p1,修改p2的值会同时修改p1的值。 结构体的使用细节:
方法:作用在指定数据类型上的,因此,自定义数据类型,也可以有方法。 ? ? ?这里test方法是针对于Person类型绑定;test方法只能通过Person类型的变量来调用;这里方法里面的p相当于是一个形参; ? ? ? 方法的声明: func (recevier type) methodName(参数列表) (返回值列表){ 方法体 return 返回值 } 使用事项:
方法和函数的主要区别: (1)在调用时的区别,变量.方法名 (2)函数只能接受与之对应的值类型或者引用类型; (3)方法既可以接受引用类型,也可接受值类型,因为底层会对其做一个优化;主要是看和什么类型进行拷贝的; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |