Go基础学习-Reciver
来源:互联网 发布:mac怎么打间隔号 编辑:程序博客网 时间:2024/06/01 19:52
Go是一门地地道道的面向对象的语言,但是他没有大部分面向对象语言的关键字class,不过这并不影响这门优秀的语言发挥面向对象的特性。
Go语言通过struct关键字来定义一个类,在定义时,仅仅定义了字段,并没有定义函数,例如
定义一个Person类,并指定姓名和年龄属性,但是无法指定test方法(行为)。
type Person struct {Name stringAge uint8//func test()//不可以这样做}
Go是通过Reciver来完成函数与类的连接工作的,下面,就给Person类增加test方法
package mainimport ("fmt")func (per Person) test1() {per.Name = "lniwn"per.Age = 23per.flag = 1}func (per *Person) test2() {per.Name = "lniwn"per.Age = 23per.flag = 2}type Person struct {Name stringAge uint8flag byte//func test()//不可以这样做}func main() {pp := Person{}pp.test1()fmt.Println(pp.Name, pp.Age, pp.flag)pp.test2()fmt.Println(pp.Name, pp.Age, pp.flag)}
func关键字 + (绑定类型) + 函数名(参数) + 返回值
就将一个方法与一个类型绑定起来了,默认是拷贝(如test1),可以通过传递指针(如test2)来使修改值一直生效。
- Go基础学习-Reciver
- Go基础学习-goroutine
- GO语言基础学习
- Go-基础学习总结
- go语言基础学习
- Go学习笔记-go语言基础
- go语言基础学习二
- Go基础学习-面向对象
- Go语言基础学习:变量
- go语言学习基础简介
- Go 基础语言学习笔记
- Android学习笔记2-1--组件3--Reciver
- Go学习笔记之基础数据类型
- Go语言_基础学习篇
- go语言 基础编程学习笔记
- GO 学习笔记 一基础篇
- Go语言学习一 :基础语句
- C++程序员学习go基础语法
- javascript对数组的操作
- 金山WPS暑期实习招聘笔试题2013-7-28
- 网络子系统27_桥接子系统初始化
- hdu1851 A Simple Game
- java基础---对象的转型
- Go基础学习-Reciver
- 一不小心发现一个检测开机时间的函数~
- struts2-常用规范
- Ubuntu配置SubVersion SVN
- Android利用Volley异步加载数据(JSON和图片)完整示例
- 记录学习旅途所遇到的问题-ubuntu
- 最小生成树(prim)--poj2377
- UVa 10413 Crazy Savages(扩展欧几里得)
- 序列化接口的id有什么用?—— Java经典面试题系列