dtvx3420 2018-10-22 17:04
浏览 176
已采纳

GoLang中的Getter [关闭]

I have a custom type named ProtectedCustomType and I don't want the variables within that to be set or get directly by the caller, rather want a Getter / Setter methods to do that.

Below is my ProtectedCustomType

package custom
import "fmt"

type ProtectedCustomType struct {
    name string
    age string
    phoneNumber int
}



func (pct *ProtectedCustomType) SetAge (age string)   {
    pct.age=age
    fmt.Println(pct.age)
} 

func (pct *ProtectedCustomType) GetAge ()  string  {
    return pct.age
} 

And here is my main function

package main

import (
    "fmt"
    "./custom"
)

var print =fmt.Println
func structCheck2() {
    pct := custom.ProtectedCustomType{}
    pct.SetAge("23")
    age:=pct.GetAge
    print (age)
}

func main() {
    structCheck2()
}

I am expecting it to print 23, but it is printing as 0x48b950

  • 写回答

1条回答 默认 最新

  • douwo8358 2018-10-22 17:31
    关注

    This (your code) takes the pct instance's GetAge method and stores it in a variable:

    age:=pct.GetAge
    

    This calls the GetAge method and stores its return value in a variable:

    age:=pct.GetAge()
    

    Consider taking the Tour of Go and reading the Go Specification to get a basic understanding of Go syntax.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据