gpt4 book ai didi

go - 具有导出字段的私有(private)类型

转载 作者:IT老高 更新时间:2023-10-28 13:06:04 28 4
gpt4 key购买 nike

在 Go 教程的第 2 天有这个练习:

为什么使用导出字段的私有(private)类型会很有用?

例如:

package geometry

type point struct {
X, Y int;
name string;
}

请注意,point 是小写的,因此不会导出,而字段 X 和 Y 是大写的,因此是。在我看来,为了能够访问导出的字段之一,您必须能够编写类似的内容。

p.X

但为了实现这一点,p 必须有这样的声明:

var p geomitry.point;

p := new(geomitry.point);

但是这是不可能的 (afaik),因为 point 的类型声明没有被导出。

最佳答案

但是你可以有一个公共(public)构造函数,对吧?

因此,如果您定义了 NewGeometryPoint 函数,那么您也许可以这样做(尚未针对编译器进行测试)

p := NewGeometryPoint(640,480);
fmt.Println("X:",p.X, "Y:",p.Y);

关于go - 具有导出字段的私有(private)类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1773192/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com