Golang中的构造函数

Posted 李斌的BLOG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang中的构造函数相关的知识,希望对你有一定的参考价值。

构造函数介绍

Golang作为结构化的语言是没有面向对象语言中的构造方法的,不过可以通过一些方式实现类似的面向对象语言中构造方法的效果。

因为 struct 是值类型,如果结构体比较复杂的话,值拷贝 性能开销会比较大,所以该构造函数返回的是结构体指针类型。

规范

  • New 关键字开头

  • 返回结构体指针

示例

package main

import "fmt"

// 结构体
type dog struct {
	name string
}

// NewDog 构造函数
func NewDog(name string) *dog {
	return &dog{
		name: name,
	}
}

func main() {
	d := NewDog("小明")
	fmt.Println(d) // 输出:&{小明}
}

以上是关于Golang中的构造函数的主要内容,如果未能解决你的问题,请参考以下文章

为啥要避免片段中的非默认构造函数?

无法解析片段中的 ViewModelProvider 构造?

在 Visual Studio 中创建构造函数的代码片段或快捷方式

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Golang创建构造函数的方法详解