10.2 使用工厂方法创建结构体实例
...小于 1 分钟
10.2 使用工厂方法创建结构体实例
10.2.1 结构体工厂
工厂函数名一般以New/new
开头。
假设定义File
:
type File struct {
fd int // 文件描述符
name string // 文件名
}
工厂函数:
func NewFile(fd int, name string) *File {
if fd < 0 {
return nil
}
return &File{fd, name}
}
f := NewFile(10, "text.txt")
new(File)
和&File{}
是等价的
强制使用
将结构体变为私有的,此时用户只能通过工厂函数来创建结构体变量
Powered by Waline v2.15.2