Golang面向对象编程之构造函数

4月以前  |  阅读数:9 次  |    

使用提供一个New函数的方当,来构造一个构造函数

构造函数是一种特殊的方法,主要用来在创建对象时初始化对象,即为对象成员变量赋初始值。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。

Golang里面没有构造函数,但是Golang却可以像C++一样实现类似继承、构造函数一样等面向对象编程的思想和方法。Golang里面要实现相关的构造函数定义可以通过通过new来创建构造函数。

一个简单的构造函数的实现

定义一个结构

type ContentMsg struct {
    EffectId int         `json:"effect_id"`
    Text     string      `json:"text"`
    Data     interface{} `json: "data"`
}

通过new一个对象,或者利用Golang本身的&方式来生成一个对象并返回一个对象指针:

func NewContentMsg(data, effectId int) *ContentMsg {
    instance := new(ContentMsg)
    instance.Data = data
    instance.EffectId = effectId
    return instance
}

func NewContentMsgV2(data, effectId int) *ContentMsg {
    return &ContentMsg{
        Data:     data,
        EffectId: effectId,
    }
}

相关文章:


SSH 登录失败:Host key verification failed

PHP分页显示制作详细讲解

PHP自定义函数获取搜索引擎来源关键字的方法

将二进制数据转为16进制以便显示

在Zeus Web Server中安装PHP语言支持

让你成为最历害的git提交人

再谈PHP中单双引号的区别详解

PHP实现简单爬虫的方法

php+ajax+json 详解及实例代码

Python 2与Python 3版本和编码的对比

php实现数组中索引关联数据转换成json对象的方法

wget使用技巧

桌面中心(一)创建数据库

PHP设计模式之工厂模式与单例模式

获取IMSI

Java生成UUID

php封装的page分页类完整实例

php数组合并array_merge()函数使用注意事项

Yii2汉字转拼音类的实例代码

getAttribute和getAttributeNode