gpt4 book ai didi

go - Go 语言中的二传手

转载 作者:IT王子 更新时间:2023-10-29 01:49:29 25 4
gpt4 key购买 nike

抱歉这个基本问题。我是 GoLang 新手。

我有一个名为 ProtectedCustomType 的自定义类型,我不希望其中的变量由调用者直接设置,而是想要一个 Getter/Setter 方法来做到这一点

下面是我的ProtectedCustomType

package custom

type ProtectedCustomType struct {
name string
age int
phoneNumber int
}

func SetAge (pct *ProtectedCustomType, age int) {
pct.age=age
}

这是我的主要函数

import (
"fmt"
"./custom"
)
var print =fmt.Println

func structCheck2() {
pct := ProtectedCustomType{}
custom.SetAge(pct,23)

print (pct.Name)
}

func main() {
//structCheck()
structCheck2()
}

但我无法继续下去..你能帮我看看如何在 GoLang 中实现 getter-setter 概念吗?

最佳答案

如果你想要 setter 你应该使用方法声明:

func(pct *ProtectedCustomType) SetAge (age int)  {
pct.age = age
}

然后你就可以使用:

pct.SetAge(23)

这种声明使您能够在您的结构上执行功能,通过使用

(pct *ProtectedCustomType)

您正在将指针传递给您的结构,因此对它的操作会改变其内部结构代表。

您可以在 this link 下阅读有关此类功能的更多信息, 或者在 official documentation 下.

关于go - Go 语言中的二传手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52931254/

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