golang 读取另一个包中结构的私有属性

我了解在 golang 上我们有公共和私人领域


package main

type User struct {


    DisplayName string 


    title *string 

}

Displayname 是公开的,所以我可以从另一个包中读取它。标题是私人的,我不能直接阅读


我添加这样的公共方法怎么样


package main

type User struct {


    DisplayName string 


    title *string 

}

func (user *User) PublicTitle() string {

  return user.title

}


type EmployeeUser User

所以我应该能够在另一个包中读取 localUser.PublicTitle() 的标题?


package utility


var localUser *main.EmployeeUser

 

localUser.PublicTitle()

我试过了好像不行。我有一点困惑。


感谢帮助


GCT1015
浏览 127回答 1
1回答

慕盖茨4494581

该类型EmployeeUser是一种新类型。当您基于现有类型定义新类型时,基类型的方法不会提升为新类型。为此,您必须嵌入:type EmployeeUser struct {     User }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go